Это команда SWISH-CONFIG, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
SWISH-CONFIG - Директивы файла конфигурации
О проекте
В этом документе перечислены доступные директивы конфигурации, доступные в Swish-e.
КОНФИГУРАЦИЯ ФАЙЛОВ
Какие файлы Swish-e индексирует и как они индексируются, и где записывается индекс, можно
контролируется конфигурационным файлом.
Файл конфигурации - это текстовый файл, состоящий из комментариев, пустых строк и конфигурация
Директивы. Порядок директив не важен. Могут использоваться некоторые директивы
более одного раза в файле конфигурации, в то время как другие могут использоваться только один раз (например,
дополнительные директивы перезаписывают предыдущие директивы). Случай директивы не
важно - вы можете использовать верхний, нижний или смешанный регистр.
Комментарии - это любые строки, начинающиеся с символа «#».
# Это комментарий
Начиная с версии 2.4.3, строки можно продолжить, поместив обратную косую черту в качестве последнего символа на
строки:
Игнорировать слова \
являюсь \
\
Foo
Директивы могут иметь более одного параметра. Включите отдельные параметры, которые включают
пробелы в кавычках (одинарные или двойные). Внутри кавычек обратная косая черта заменяет следующий
характер.
ReplaceRules append "foo bar" <- определить "foo bar" как единственный параметр
Если вам нужно включить в значение символ кавычки, либо используйте обратную косую черту, чтобы избежать его,
или заключите его в кавычки другого типа.
Обратные косые черты также имеют особое значение в регулярных выражениях.
FileFilterMatch pdftotext "'% p' -" /\.pdf$/
Это говорит о том, что точка является настоящей точкой (вместо соответствия любому символу). Если вы разместите
регулярное выражение в кавычках, тогда вы должны использовать двойную обратную косую черту.
FileFilterMatch pdftotext "'% p' -" "/\\.pdf$/"
Swish-e преобразует двойную обратную косую черту в одиночную обратную косую черту перед тем, как передать
параметр компилятора регулярных выражений.
Прокомментированные примеры файлов конфигурации включены в конф справочник Swish-e
распределение.
Некоторые аргументы командной строки могут переопределять директивы, указанные в файле конфигурации.
См. Также SWISH-RUN для получения инструкций по запуску Swish-e и SWISH-SEARCH.
для получения информации и примеров того, как выполнять поиск по вашему index.
Файл конфигурации указывается для Swish-e с помощью переключателя «-c». Например,
swish-e -c myconfig.conf
Вы также можете разделить свои директивы на разные файлы конфигурации. Это позволяет вам
чтобы иметь главный файл конфигурации, используемый для многих различных индексов, и меньшего размера
файлы конфигурации для каждого отдельного индекса. Вы можете указать другую конфигурацию
файлы при запуске из командной строки с ключом "-c" (см. SWISH-RUN), или вы можете
включить другой файл конфигурации с Инкудеконфиле директива ниже.
Обычно в файле конфигурации директивы сгруппированы в несколько логических
порядок - то есть директивы, управляющие источником документов, будут сгруппированы
вместе, и директивы, которые управляют тем, как фильтруется каждый документ или его слова
index в другой группе директив. (Директивы, перечисленные ниже, сгруппированы в этом
порядок).
Директивы файла конфигурации перечислены ниже в этих группах:
· «Директивы административных заголовков» - вы можете добавить административную информацию в
заголовок индексного файла.
· «Директивы об источниках документов» - директивы для выбора исходных документов и
расположение индексного файла.
· «Директивы о содержании документа» - директивы, которые контролируют содержание документа.
проиндексировано.
· «Директивы только для метода доступа к файлам» - эти директивы применимы только
к методу индексирования доступа к файлам.
· «Директивы только для метода доступа HTTP» - аналогично, они применимы только к HTTP
Метод доступа.
· «Директивы только для метода доступа к программе» - Они относятся только к программе Access.
метод.
· «Директивы фильтров документов» - это специальный раздел, в котором описывается использование
фильтры документов с Swish-e.
По алфавиту Список of Директивы
· AbsoluteLinks [да⎪НЕТ]
· BeginCharacters * строка символов *
· BumpPositionCounterCharacters * строка *
· Модные словечки [* список модных словечек * ⎪File: path]
· CompressPositions [да⎪НЕТ]
· ConvertHTMLEntities [ДА⎪нет]
· Содержание по умолчанию [TXT⎪HTML⎪XML⎪TXT2⎪HTML2⎪XML2⎪TXT * ⎪HTML * ⎪XML *]
· Задержка * секунды *
· DontBumpPositionOnEndTags * список имен *
· DontBumpPositionOnStartTags * список имен *
· EnableAltSearchSyntax [да⎪НЕТ]
· EndCharacters * строка символов *
· EquivalentServer * псевдоним сервера *
· ExtractPath * metaname * [replace⎪remove⎪prepend⎪append⎪regex]
· FileFilter * суффикс * * программа * [параметры]
· FileFilterMatch * программа * * параметры * * регулярное выражение * [* регулярное выражение * ...]
· FileInfoCompression [да⎪НЕТ]
· FileMatch [содержит⎪is⎪regex] * регулярное выражение *
· FileRules [containsis⎪regex] * регулярное выражение *
· FuzzyIndexingMode [NONE⎪Stemming⎪Soundex⎪Metaphone⎪DoubleMetaphone]
· FollowSymLinks [да⎪НЕТ]
· HTMLLinksMetaName * metaname *
· IgnoreFirstChar * строка символов *
· IgnoreLastChar * строка символов *
· IgnoreLimit * целое целое число *
· IgnoreMetaTags * список имен *
· IgnoreNumberChars * список символов *
· IgnoreTotalWordCountWhenRanking [ДА⎪нет]
· IgnoreWords [* список стоп-слов * ⎪File: path]
· ImageLinksMetaName * metaname *
· Включитьконфигфиле
· IndexAdmin * текст *
· IndexAltTagMetaName * tagname * ⎪as-text
· IndexComments [да⎪НЕТ]
· IndexContents [TXT⎪HTML⎪XML⎪TXT2⎪HTML2⎪XML2⎪TXT * ⎪HTML * ⎪XML *] * расширения файлов *
· Индекс Описание * текст *
· IndexDir [URL⎪каталоги или файлы]
· IndexFile * путь *
· IndexName * текст *
· IndexOnly * список суффиксов файлов *
· IndexPointer * текст *
· Индексный отчет [0⎪1⎪2⎪3]
· MaxDepth * целое число *
· MaxWordLimit * целое число *
· MetaNameAlias * мета-имя * * список псевдонимов *
· MetaNames * список имен *
· MinWordLimit * целое число *
· NoContents * список суффиксов файлов *
· ObeyRobotsNoIndex [да⎪НЕТ]
· ParserWarnLevel [0⎪1⎪2⎪3]
· PreSortedIndex * список названий свойств *
· Пропкомпрессионуровень [0-9]
· PropertyNameAlias * имя свойства * * список псевдонимов *
· PropertyNames * список метаименов *
· PropertyNamesCompareCase * список метаименов *
· PropertyNamesIgnoreCase * список метаименов *
· PropertyNamesNoStripChars * список метаименов *
· PropertyNamesDate * список метаименов *
· PropertyNamesNumeric * список метаименов *
· PropertyNamesMaxLength целое число * список метаименов *
· PropertyNamesSortKeyLength integer * список метаименов *
· Заменить правила [заменить⎪удалить⎪добавить⎪добавить⎪регулярное выражение]
· ResultExtFormatName name -x строка формата
· SpiderDirectory * путь *
· StoreDescription [XML ⎪HTML ⎪TXT размер]
· "SwishProgParameters * список параметров *
· SwishSearchDefaultRule [ ⎪ ]
· TmpDir * путь *
· TranslateCharacters [* строка1 строка2 * ⎪: ascii7:]
· TruncateDocSize * количество символов *
· UndefinedMetaTags [ошибка⎪игнорировать⎪ИНДЕКС⎪авто]
· Неопределенные атрибутыXMLAttributes [DISABLE⎪error⎪ignore⎪index⎪auto]
· UseStemming [да⎪НЕТ]
· UseSoundex [да⎪НЕТ]
· UseWords [* список слов * ⎪File: path]
· WordCharacters * строка символов *
· XMLClassAttributes * список имен атрибутов XML *
Директивы которая Контролировать рассекать
Эти директивы конфигурации управляют общим поведением Swish-e.
IncludeConfigFile * путь к файлу конфигурации *
Эта директива может использоваться для включения директив конфигурации, расположенных в другом
.
IncludeConfigFile /usr/local/swish/conf/site_config.config
Индексный отчет [0⎪1⎪2⎪3]
Вот насколько подробный отчет вы хотите получить при индексировании. Вы можете указать числа от 0 до
3. 0 - полное молчание, 3 - самое подробное. По умолчанию 1.
Это можно изменить из командной строки с помощью переключателя «-v» (см. SWISH-RUN).
ParserWarnLevel [0⎪1⎪2⎪3]
Устанавливает уровень ошибки при использовании парсера libxml2 для XML и HTML. libxml2 будет
указать на структурные ошибки в ваших документах.
0 = нет отчета
1 = фатальные ошибки
2 = ошибки
3 = предупреждения
В настоящее время (с версии 2.4.4 - начало 2005 г.) libxml2 сообщает об ошибках только на уровне 2.
по умолчанию, начиная с 2.4.4, установлено значение «2», которое должно сообщать обо всех ошибках, которые могут указывать на
проблема при разборе документа.
Исключением являются ошибки преобразования UTF-8 в Latin-1, о которых сообщается на уровне 3.
(изменено с 1 в 2.4.4). Хотя эти ошибки указывают на проблему с индексированием текста,
о них сообщают только на уровне 3, потому что они могут быть очень распространенными.
Рекомендуется проиндексировать ParserWarnLevel 3 при первом запуске, чтобы увидеть
о каких ошибках и предупреждениях сообщается. Потом понизьте уровень, когда поймете, что
документы вызывают проблемы с анализом и почему.
IndexFile * путь *
Индексный файл указывает расположение сгенерированного индексного файла. Если не указано,
Swish-e создаст файл index.swish-е в текущем каталоге.
Индексный файл /usr/local/swish/site.index
obeyRobotsNoIndex [да⎪НЕТ]
Если этот параметр включен, Swish-e не будет индексировать файлы HTML, содержащие:
По умолчанию эти метатеги игнорируются и документ индексируется. Этот тег
описанный в http://www.robotstxt.org/wc/exclusion.html.
Примечание. Эта функция доступна только с анализатором HTML libxml2.
Кроме того, если вы используете парсер libxml2 (HTML2 и XML2), вы можете использовать
следующие комментарии в ваших документах, чтобы предотвратить индексацию:
и / или они также могут использоваться:
Например, они очень полезны для предотвращения индексации общих верхних и нижних колонтитулов,
и меню.
ЗАМЕТКА: Следующие элементы в настоящее время недоступны. Эти предметы требуют Swish-e для
проанализировать файл конфигурации во время поиска.
EnableAltSearchSyntax [да⎪НЕТ]
ЗАМЕТКА: Этот следующий элемент в настоящее время недоступен.
Включите альтернативный синтаксис поиска. Позволяет использовать базовую "Альтависта (с)",
«Lycos (c)» и т. Д. Как синтаксис поиска. Это означает, что поисковый запрос может содержать "+" и
«-» в качестве параметра синтаксиса.
Пример:
swish-e -w "+ слово1 + слово2 -слово3 слово4 слово5"
"+" = следующее слово должно быть во всех найденных документах
"-" = следующее слово может отсутствовать ни в одном найденном документе
"" = следующее слово будет искать в документах
SwishSearhОператоры
ЗАМЕТКА: Этот следующий элемент в настоящее время недоступен.
Используя эту директиву config, вы можете изменить логические операторы поиска Swish-e,
например, чтобы адаптировать их к вашему языку. По умолчанию: И ИЛИ НЕ
Пример (немецкий):
SwishSearchOperators БЕЗ НОРМЫ
SwishSearchDefaultRule [ ⎪ ]
ЗАМЕТКА: Этот следующий элемент в настоящее время недоступен.
"SwishSearchDefaultRule" определяет логический оператор по умолчанию, который будет использоваться, если ни один из них не
указывается между словами или фразами. По умолчанию - «И».
Указанное вами слово должно соответствовать одному из доступных SwishSearchOperators.
Пример:
SwishSearchOperators БЕЗ НОРМЫ
# Сделайте так, чтобы он работал как поисковая система
SwishSearchDefaultПравило ODER
ResultExtFormatName имя -x строка формата
ЗАМЕТКА: Этот следующий элемент в настоящее время недоступен.
Вывод Swish-e можно определить, указав строку формата с помощью «-x».
аргумент командной строки. Используя ResultExtFormatName, вы можете назначить предопределенный формат
строка к имени.
Примеры:
ResultExtFormatName moreinfo "% c⎪% r⎪% t⎪% p⎪ ⎪ \ n "
Затем при поиске вы можете указать имя строки формата
swish-e ... -x подробнее ...
См. Переключатель «-x» в SWISH-RUN для получения дополнительной информации о форматах вывода.
Aдминистрирование Заголовки Директивы
Swish-e хранит информацию о конфигурации в заголовке индексного файла. Этот
информацию можно получить во время поиска или с помощью функций в библиотеке Swish-e C.
Есть несколько полей, доступных для вашего личного использования. Ни одно из этих полей не
обязательный:
IndexName * текст *
Индекс Описание * текст *
IndexPointer * текст *
IndexAdmin * текст *
Эти переменные определяют информацию, которая входит в индексные файлы, чтобы помочь пользователям и
администраторы. IndexName должно быть именем вашего указателя, как название книги.
IndexDescription - это краткое описание индекса или URL, указывающий на более полный
описание. IndexPointer должен быть указателем на исходную информацию, в большинстве случаев
скорее всего URL-адрес. IndexAdmin должно быть именем лица, обслуживающего индекс, и может включать
имя и адрес электронной почты. Эти значения не должны содержать более 70 символов.
и должны быть заключены в кавычки. Обратите внимание, что автоматически созданная дата в
индексные файлы имеют формат D / M / Y и 24-часовой формат.
Примеры:
IndexName "Документация по Linux"
IndexDescription «Это индекс / usr / doc на нашей машине Linux».
указатель указателя http://localhost/swish/linux/index.html
IndexAdmin веб-мастер
Документ Источник Директивы
Эти директивы управляют почему документы индексируются и это они доступны. Смотрите также
Директивы только для метода доступа к файлам и директивы только для метода доступа HTTP
для директив, относящихся к этим методам доступа.
IndexDir [каталоги или файлы⎪URL⎪внешняя программа]
IndexDir определяет источник документов для Swish-e. Swish-e в настоящее время поддерживает
три метода доступа к файлам: Файл система, HTTP (также называемый паукообразный), а также расширение прог для
чтение файлов из внешней программы.
Аргумент командной строки «-S» используется для выбора метода доступа к файлу.
swish-e -c swish.config -S fs - файловая система
swish-e -c swish.config -S http - внутренний http-паук
swish-e -c swish.config -S prog - внешняя программа любого типа
Для того, чтобы получить fs метод доступа ИндексКаталог это список файлов, разделенных пробелами, и
каталоги для индексации. Используйте косую черту в качестве разделителя пути в MS Windows.
Для того, чтобы получить HTTP метод ИндексКаталог Параметр представляет собой список URL-адресов, разделенных пробелами.
Для того, чтобы получить прог метод ИндексКаталог настройка - это список программ, разделенных пробелами, для запуска
(которые генерируют документы для индексации).
Вы можете указать более одного ИндексКаталог Директивы.
Любые подкаталоги любого указанного каталога также будут проиндексированы.
Примечание: пока обработка каталоги, Swish-e проигнорирует любые файлы или каталоги,
начинаются с точки ("."). Вы можете индексировать файлы или каталоги, которые начинаются с точки с помощью
указав свое имя с помощью «IndexDir» или «-i».
Примеры:
# Индексируйте этот каталог и любые подкаталоги
IndexDir / usr / local / home / http
# Индексировать каталог документов в текущем каталоге
Индексный каталог ./docs
# Индексировать эти файлы в текущем каталоге
IndexDir ./index.html ./page1.html ./page2.html
# и проиндексируйте этот каталог тоже
ИндексныйКаталог ../public_html
Для того, чтобы получить HTTP метод доступа укажите URL-адреса, с которых вы хотите, чтобы паук
начать.
Пример:
ИндексКаталог http://www.my-site.com/index.html
ИндексКаталог http://localhost/index.html
Очевидно, используя HTTP метод индексации много медленнее, чем индексирование локальных файлов.
Имейте в виду, что некоторые сайты не ценят спайдинг и могут заблокировать ваш IP.
адрес. Возможно, вы захотите связаться с удаленным сайтом, прежде чем просматривать его веб-сайт.
Более подробную информацию о спайдеринге можно найти в Директивах для метода доступа HTTP.
Только ниже.
Для прога метод доступа ИндексКаталог указывает путь к программе (ам) для
выполнять. Внешняя программа должна правильно форматировать возвращаемые документы.
в Swish-e. Примеры внешних программ приведены в прог-бен каталог.
Индексный каталог ./myprogram.pl
Подробности смотрите в проге.
Примечание. Не все директивы работают со всеми методами.
NoContents * список суффиксов файлов *
Файлы с этими суффиксами будут их содержимое проиндексировано, но будет
вместо этого индексируется путь (имя файла).
Если тип файла - HTML или HTML2 (как установлено в «IndexContents» или «DefaultContents»)
тогда файл будет проанализирован на предмет заголовка HTML, и этот заголовок будет проиндексирован. Примечание
что вы должны установить тип файла с помощью «IndexContents» или «DefaultContents»: «.html»
и ".htm" НЕ относятся к типу HTML по умолчанию. Например:
IndexContents HTML * .htm .html
Если заголовок найден, он все равно будет проверяться на наличие «FileRules title», и файл будет
можно пропустить, если найдено совпадение. См. «FileRules».
Если тип файла не HTML, или это HTML и заголовок не найден, тогда файл
путь будет проиндексирован.
Например, это позволит искать по имени файла изображения.
NoContents .gif .xbm .au .mov .mpg .pdf .ps
Примечание. Использование этой директивы приведет к индексировать файлы с такими суффиксами.
То есть, если вы используете "IndexOnly" для ограничения типов индексируемых файлов, вы
в «IndexOnly» должны быть указаны те же суффиксы, что и в «NoContents».
Это делает Работа:
# Неправильный!
Индексонли .htm .html
NoContents .gif .xbm .au .mov .mpg .pdf .ps
Программа "-S prog" может установить заголовок "No-Contents:", чтобы включить эту функцию для
конкретный документ (хотя для программы "-S prog" разумнее было бы просто
отправьте только путь или заголовок для индексации.
replaceRules [заменить⎪удалить⎪добавить⎪добавить⎪регулярное выражение]
ReplaceRules позволяет вносить изменения в пути к файлам до их индексации.
Эти измененные имена файлов или URL-адреса будут возвращены в результатах поиска.
Например, вы можете индексировать свои файлы локально (с помощью метода индексации файловой системы),
но вернуть URL-адрес в результатах поиска. Эта директива может использоваться для сопоставления имен файлов
к их соответствующим URL-адресам на вашем веб-сервере.
Вы можете указать пять операций: заменить, добавлять, удаление, перед именем и регулярное выражение
Они проанализируют путь в том порядке, в котором вы вводили эти команды.
Эта директива использует регулярные выражения библиотеки C regex.h.
замените "строку, которую вы хотите заменить" "на что ее заменить"
удалить "строку, которую нужно удалить"
добавить "строку, которую нужно добавить перед результатом"
добавить "строку, которую нужно добавить после результата"
регулярное выражение "/ строка поиска / строка замены / параметры"
Помните, что кавычки необходимы, если выражение содержит пробелы и обратную косую черту.
имеют особое значение.
Regex - это расширенное регулярное выражение. Первый найденный символ - разделитель
(но недостаточно умен, чтобы использовать совпадающие символы, такие как [], () и {}).
The заменить строка может использовать подстановочные переменные:
$ 0 вся совпадающая (под) строка
$ 1–9 возвращает шаблоны, записанные в парах "(" ")"
$ `строка перед совпадающим шаблоном
$ 'строка после совпадающего шаблона
The кредита изменить поведение выражения:
я игнорирую регистр при сопоставлении
g повторить замену для всего шаблона
Примеры:
ReplaceRules заменить testdir / anotherdir /
ReplaceRules заменить [a-z_0-9] * _ m. * \. Html index.html
ReplaceRules удалить testdir /
ReplaceRules в начале http://localhost/
ReplaceRules добавить .html
ReplaceRules regex! ^ / Web / (. +) /!Http://$1.domain.com/!
заменяет путь к файлу:
/веб/поиск/foo/index.html
http://search.domain.com/foo/index.html
ReplaceRules регулярное выражение # ^ #http://localhost/www#
ReplaceRules в начале http://localhost/www (то же самое)
# Удаляем все расширения из исходных файлов C
ReplaceRules удалить .c # ОШИБКА! Тот "." это * любой символ *
ReplaceRules remove \ .c # намного лучше ...
ReplaceRules удаляет "\\. C" # если в кавычках нужна двойная обратная косая черта!
ReplaceRules remove "\ .c" # ОШИБКА! "\." -> "." и это * любой символ *
IndexContents [TXT⎪HTML⎪XML⎪TXT2⎪HTML2⎪XML2⎪TXT * ⎪HTML * ⎪XML *] * расширения файлов *
Директива IndexContents назначает документу один из парсеров документов Swish-e,
на основе его расширения. Swish-e в настоящее время умеет разбирать TXT, HTML и XML.
документов.
Парсеры XML2, HTML2 и TXT2 в настоящее время доступны только тогда, когда Swish-e
настроен на использование libxml2.
Вы можете использовать XML *, HTML * и TXT * для автоматического выбора парсера. Если libxml2 - это
установлен, то он будет использоваться для анализа содержимого. В противном случае внутренний
будут использоваться парсеры.
Документы, которым не назначен синтаксический анализатор с "IndexContents", по умолчанию будут использовать
парсер HTML2, если установлен libxml2, в противном случае будет использовать внутренний HTML Swish-e
парсер. Директива DefaultContents может использоваться для назначения парсера документам.
которые не соответствуют расширению файла, определенному в директиве «IndexContents».
Пример:
IndexContents HTML * .htm .html .shtml
IndexContents TXT * .txt .log .text
IndexContents XML * .xml
HTML * является типом по умолчанию для всех файлов, если не указано иное (и это значение по умолчанию
может быть изменен Содержание по умолчанию директива. Swish-e разбирает заголовки из HTML
файлы, если они доступны, и отслеживает контекст текста для контекстного поиска
(см. «-t» в SWISH-RUN).
При использовании фильтров (с директивой FileFilter) для преобразования документов вам следует
включить и эти расширения. Например, при использовании фильтра для преобразования .pdf в
.html, вам нужно сообщить Swish-e, что .pdf должен быть проиндексирован внутренним HTML.
парсер:
ФайлФильтр .pdf pdf2html
Содержание индекса HTML .pdf
См. Также Директивы фильтрации документов.
Примечание: Некоторые из них могут быть изменены в будущем, чтобы использовать типы содержимого вместо файловых
расширения. См. SWISH-3.0.
DefaultContents [TXT⎪HTML⎪XML⎪TXT2⎪HTML2⎪XML2⎪TXT * ⎪HTML * ⎪XML *]
Это устанавливает синтаксический анализатор по умолчанию для документов, которые не указаны в Указатель Содержание. Если
не указано, по умолчанию используется HTML.
Парсеры XML2, HTML2 и TXT2 в настоящее время доступны только тогда, когда Swish-e
настроен на использование libxml2.
Вы можете использовать XML *, HTML * и TXT * для автоматического выбора парсера. Если libxml2 - это
установлен, то он будет использоваться для анализа содержимого. В противном случае внутренний
будут использоваться парсеры.
Пример:
Содержимое по умолчанию HTML
Директива DefaultContents должен использоваться при работе с пауками, поскольку файлы HTML могут быть
возвращается без расширения файла (например, при запросе каталога и значения по умолчанию
index.html возвращается).
FileInfoCompression [да⎪НЕТ]
** Эта директива в настоящее время не поддерживается **
настройка FileInfoCompression при выборе «да» индексный файл будет сжиматься для экономии места на диске.
Это может привести к увеличению времени индексации. По умолчанию - «нет».
Также см. Переключатель «-e» в SWISH-RUN для сохранения ОЗУ во время индексации.
Документ Содержание: Директивы
Эти директивы определяют, какая информация извлекается из ваших исходных документов и как
эта информация становится доступной во время поиска.
ConvertHTMLEntities [ДА⎪нет]
ASCII лиц может автоматически конвертироваться при индексировании документов типа HTML
(не для HTML2). По соображениям производительности вы можете установить для этого параметра значение "нет", если ваш
документы не содержат сущностей HTML. По умолчанию "да".
Если для «ConvertHTMLEntities» установлено «нет», сущности будут индексироваться без преобразования.
ПРИМЕЧАНИЕ: Сущности в файлах XML и файлы, проанализированные с помощью libxml2 (HTML2), преобразуются.
независимо от этого параметра.
MetaNames * список имен *
Имена META - это способ определения «полей» в ваших документах XML и HTML. Ты можешь использовать
имена META в ваших запросах, чтобы ограничить поиск только словами, содержащимися в этом
МЕТА-имя вашего документа. Например, у вас может быть поле с меткой META в вашем
документы под названием "темы", а затем вы можете искать в своих документах слово "foo"
но возвращать только те документы, в которых «foo» находится внутри метатега «subject».
swish-e -w темы = foo
(См. Также переключатель "-t" в SWISH-RUN для получения информации о контекст поиск в HTML
документы.)
The МетаИмена Директива представляет собой список, разделенный пробелами. Например:
MetaNames meta1 meta2 ключевые слова темы
Вы также можете использовать "UndefinedMetaTags", чтобы указать автоматическое извлечение мета-имен.
из ваших HTML- и XML-документов, а также игнорировать индексирование содержимого метатегов.
МЕТА-теги могут иметь два формата в вашем HTML исходные документы:
и (при использовании парсера HTML2 / libxml2)
некоторый контент
Но эта вторая версия является недопустимым HTML и выдаст предупреждение, если
ParserWarningLevel установлен (только libxml2).
И в XML документы используйте формат:
Некоторый контент
Затем вы можете ограничить свой поиск только МЕТА meta1 как это:
swish-e -w 'meta1 = (яблоки или апельсины)'
Вы можете вложить XML и версии начального / конечного тегов:
некоторый контент
какой-то другой контент
Затем вы можете искать как в tag2, так и в tag2, используя:
swish-e -w 'ключевые слова = (слова запроса)'
Swish-e индексирует весь текст как некое метанимя. По умолчанию используется swishdefault, поэтому эти
два запроса одинаковы:
swish-e -w фу
swish-e -w swishdefault = foo
При индексировании HTML Swish-e индексирует заголовок HTML как текст по умолчанию, поэтому при поиске
Swish-e найдет совпадения как в теле HTML, так и в заголовке HTML. Swish также
по умолчанию, индексирует содержимое метатегов. Так:
swish-e -w фу
найдет "foo" в теле, заголовке или любых метатегах.
В настоящее время нет способа запретить Swish-e индексировать содержимое заголовка вместе
с содержимым тела, но см. "UndefinedMetaTags", чтобы узнать, как управлять индексированием
Мета-теги.
Если вы хотите искать только по тексту заголовка, вы можете использовать:
метаназвания
Это проиндексирует текст заголовка отдельно под встроенным внутренним мета-именем swish.
"swishtitle". Затем вы можете искать как
swish-e -w foo - искать «foo» в заголовке, теле (и неопределенных метатегах)
swish-e -w swishtitle = foo - искать «foo» только в заголовке
Помимо swishtitle, вы можете ограничить поиск по пути к документу с помощью:
МетаИмена
Затем выполнить поиск по запросу "foo", но также ограничить поиск документами, содержащими "manual" или
"учебник" на своем пути:
swish-e -w foo swishdocpath = (руководство или учебник)
См. Также «ExtractPath».
MetaNameAlias * мета-имя * * список псевдонимов *
MetaNameAlias назначает псевдонимы мета-имени. Например, если ваши документы содержат
метатеги "описание", "сводка" и "обзор", которые дают краткое изложение вашего
документы, которые вы могли бы сделать:
Резюме MetaNames
Обзор сводного описания MetaNameAlias
Тогда все три тега будут проиндексированы как метатег «Сводка». Затем вы можете искать все
поля как:
-w сводка = foo
Псевдоним также работает во время поиска. Таким образом, это также ограничит поиск
мета-имя "summary".
-w описание = foo
-w обзор = foo
MetaNamesRank целое число * список метаименов *
Вы можете назначить метаменам смещение, которое повлияет на расчет рейтинга. В
диапазон значений от -10 до +10, где ноль означает отсутствие смещения.
MetaNamesRank 4 предмет
MetaNamesRank 3
Автор-издатель MetaNamesRank 2
MetaNamesRank -5 неправильных слов
Эта функция до сих пор считается экспериментальной. Если вы его используете, отправьте отзыв по адресу
список обсуждения.
HTMLLinksMetaName * metaname *
Разрешает индексацию HTML-ссылок. Обычно HTML-ссылки (теги href) не индексируются
Swish-e. Эта директива определяет мета-имя, и ссылки будут индексироваться под этим мета-именем.
имя.
Пример:
HTMLLinksMetaName ссылки
Теперь, чтобы ограничить поиск файлами со ссылкой на "home.html", сделайте следующее:
-w links = '"home.html"'
Двойные кавычки вызывают поиск фразы.
Чтобы сделать ссылки Swish-e индексными как обычный текст, вы можете использовать:
HTMLLinksMetaName swishdefault
Эта функция доступна только с анализатором HTML libxml2.
ImageLinksMetaName * metaname *
Позволяет индексировать ссылки на изображения под метанимем. Обычно URL-адреса изображений не
проиндексировано.
Пример:
ImagesLinksMetaName изображения
Теперь, если вы хотите найти страницы с красивым изображением пляжа:
-w images = 'пляж'
Чтобы сделать ссылки Swish-e индексными как обычный текст, вы можете использовать:
ImageLinksMetaName swishdefault
Эта функция доступна только с анализатором HTML libxml2.
IndexAltTagMetaName * tagname * ⎪as-text
Позволяет индексировать изображения Текст тега ALT. Укажите имя тега, которое будет
используется как метанимя или специальный текст «as-text», который указывает индексировать текст ALT как
если бы это был обычный текст в текущем месте.
Например, указав имя тега:
Панель IndexAltTagMetaName
сделает такую разметку:
выглядеть как
Альтернативный текст здесь
Затем обычные правила ("MetaNames" и "PropertyNames") применяются к тому, как этот текст
проиндексировано.
Если вы используете специальный тег «as-text», то
просто становится
Альтернативный текст здесь
Эта функция доступна только при использовании парсера libxml2 (HTML2 и XML2).
AbsoluteLinks [да⎪НЕТ]
Если установлено значение true, Swish-e попытается преобразовать относительные URI, извлеченные из
HTML-документы для использования с HTMLLinksMetaName и ImageLinksMetaName в абсолютные
URI. Swish-e будет использовать любой тег, найденный в документе, в противном случае он будет использовать
путь к файлу. В качестве пути используется имя пути * после * "ReplaceRules".
был применен к пути к документу.
Например, предположим, что вы хотите проиндексировать ссылки на изображения под метаименованием «изображения».
ImageLinksMetaName изображения
Если изображение находится в http://localhost/vacations/france/index.html и
"AbsoluteLinks" имеет значение "нет", затем изображение в этом документе:
будет индексировать только "beach.jpeg".
Но, если вы хотите получить более подробную информацию при поиске, вы можете включить «AbsoluteLinks» и Swish-
e будет индексировать "http://localhost/vacations/france/beach.jpeg". Затем вы можете искать
изображения пляжей, но только во Франции:
-w images = (пляж и франция)
Это также означает, что вы можете искать любые изображения во Франции:
-w images = (Франция)
Эта функция доступна только с анализатором HTML libxml2.
UndefinedMetaTags [ошибка⎪игнорировать⎪ИНДЕКС⎪авто]
Эта директива определяет поведение Swish-e во время индексации, когда используется мета-имя.
найдено, но есть перечислены в МетаИмена. Есть четыре варианта:
ошибка
Если найдено мета-имя, не указанное в МетаИмена тогда индексация будет остановлена
и сообщается об ошибке.
игнорировать
Содержимое метатега игнорируется и проиндексировано, если не было
определяется директивой "MetaNames".
индекс
Содержимое метатега индексируется, но помещается в основной индекс, если только
уже действует закрывающий метатег. Это значение по умолчанию.
автоматический
Этот метод автоматически создает метатеги для мета-имен HTML и элементов XML.
Это то же самое, что и явное указание всех мета-имен в МетаИмена
Директивы.
UndefinedXMLAttributes [ОТКЛЮЧИТЬ⎪ошибка⎪игнорировать⎪индекс⎪авто]
Это похоже на «UndefinedMetaTags», но применяется только к XML-документам (анализируемым с помощью
libxml2). Это позволяет индексировать содержимое атрибута и предоставляет способ индексирования
контент под метанимем. Например, "UndefinedXMLAttributes" может сделать
Иван Иванов
выглядят следующим образом:
23
Иван Иванов
Что произойдет с текстом «23», будет зависеть от настройки «UndefinedXMLAttributes»:
запрещать
Атрибуты XML не анализируются и не индексируются. Это значение по умолчанию.
ошибка
Если объединенное мета-имя (например, person.age) не указано в МетаИмена тогда
индексирование будет остановлено, и появится сообщение об ошибке.
игнорировать
Содержимое метатега игнорируется и проиндексировано, если не было
определяется директивой "MetaNames".
индекс
Содержимое метатега индексируется, но помещается в основной индекс, если только
уже действует закрывающий метатег.
автоматический
Этот метод создаст метатеги из объединенного элемента и атрибутов (и XML
Имя класса). Этот параметр следует использовать с осторожностью, так как он может генерировать много
записи metaname.
См. Также пример ниже «XMLClassAttribues».
XMLClassAttributes * список имен атрибутов XML *
Комбинирует имя класса XML с именем элемента для создания метанимя. Например:
XMLClassAttributes класс
John
лань
Будет отображаться для Swish-e как:
John
лань
Как индексируются данные, зависит от «MetaNames» и «UndefinedMetaTags».
Вот пример использования следующей конфигурации, которая объединяет две директивы
«XMLClassAttributes» и «UndefinedXMLAttributes».
XMLClassAttributes класс
UndefinedMetaTags авто
UndefinedXMLAttributes авто
IndexContents XML2.xml
Исходный XML-файл выглядит так:
Джон
Счет
Swish-e разбирается как:
./swish-e -c 2 -i 1.xml -T parsed_tags parsed_text -v 0
Источник данных индексации: «Файловая система»
(МетаНазвание)
(МетаНазвание)
(МетаНазвание)
(МетаНазвание)
555-1212
(МетаНазвание)
102
John
(МетаНазвание)
(МетаНазвание)
здор`ово
Билл
Индексирование выполнено!
Следует отметить, что первый блок находит имя класса "студент", поэтому все
метанимены, созданные из атрибутов, используют комбинированное имя «person.student».
Секунда блок не содержит "класс", поэтому имя атрибута объединено
непосредственно с именем элемента (например, "person.greeting").
ExtractPath * metaname * [replace⎪remove⎪prepend⎪append⎪regex]
Эта директива может использоваться для индексации извлеченных частей пути к документу. Общий
использование будет заключаться в ограничении поиска определенными областями вашего файлового дерева.
Извлеченная строка будет проиндексирована под указанным мета-именем.
См. «ReplaceRules» для описания различных методов замены шаблона, но
вы будете использовать регулярное выражение метод.
Например, предположим, что ваша файловая система (или веб-дерево) организована по отделам:
/ web / sales / foo ...
/ web / parts / foo ...
/ Интернет / бухгалтерский учет / foo ...
И вам нужен был способ ограничить поиск только документами в разделе «продажи».
Регулярное выражение отдела ExtractPath! ^ / Web / ([^ /] +)/.* $! $ 1!
В нем говорится: извлеките название отдела (как подстроку $ 1) и проиндексируйте его как мета
название "отдел". Затем, чтобы ограничить поиск отделом продаж:
swish-e -w foo И отдел = продажи
Обратите внимание, что метод «регулярное выражение» использует шаблон подстановки, поэтому для индексации только под-
строка соответствует весь путь к документу в регулярном выражении, как показано выше.
В противном случае любая несоответствующая часть попадет в шаблон замещения.
См. Параметр «ExtractPathDefault», чтобы узнать, как установить значение, если шаблоны не совпадают.
Хотя маловероятно, вы можете использовать более одной директивы «ExtractPath». Больше, чем один
директива то же мета-имя будет работать последовательно (в порядке, указанном в
файл конфигурации) по пути. Это позволяет использовать регулярные выражения в
результаты предыдущей подстановки шаблона (как если бы вывод одного
выражение к скороговорке следующего).
ExtractPath foo regex! ^ (...). + $! $ 1!
ExtractPath foo regex! ^. + (.) $! $ 1!
Итак, третья буква индексируется как мета-имя «foo», если совпадают оба шаблона.
ExtractPath foo regex! ^ X (...). + $! $ 1!
ExtractPath foo regex! ^. + (.) $! $ 1!
Теперь (не "X"), если первый шаблон не совпадает, последний символ пути
имя проиндексировано. Вы должны четко понимать это поведение, если используете более одного
Директива ExtractPath с тем же метанимем.
Путь к документу - это реальный путь, используемый для доступа к документу.
То есть директива ReplaceRules не влияет на путь, используемый с
«ExtractPath».
Полный путь используется для каждого мета-имени, если указано более одной директивы ExtractPath.
использовал. То есть изменение пути, используемого в «ExtractPath foo», не влияет на путь.
используется «панелью ExtractPath».
ExtractPathDefault * metaname * default_value
Это можно использовать с "ExtractPath", чтобы установить строку по умолчанию для индексации по заданному
metaname, если ни один из шаблонов "ExtractPath" не соответствует.
Например, вы хотите проиндексировать каждый документ с метаименованием "отдел" на основе
на следующих примерах пути:
/ web / sales / foo ...
/ web / parts / foo ...
/ Интернет / бухгалтерский учет / foo ...
Но вы также индексируете документы, которые не соответствуют этому шаблону, и вы хотите
ищите и их отдельно.
Регулярное выражение отдела ExtractPath! ^ / Web / ([^ /] +)/.* $! $ 1!
ExtractPathДругой отдел по умолчанию
Теперь вы можете искать так:
-w foo Department = (sales) - ограничить поиск торговыми документами
-w foo Department = (parts) - ограничить поиск документами по частям
-w foo Department = (бухгалтерия) - ограничить поиск бухгалтерскими документами
-w foo Department = (other) - все, кроме продаж, запчастей и бухгалтерии.
Это в основном ярлык для:
-w foo не отдел = (продажи, запчасти или бухгалтерия)
но вам не нужно отслеживать, что было извлечено.
PropertyNames * список метаименов *
PropertyNamesCompareCase * список метаименов *
PropertyNamesIgnoreCase * список метаименов *
Swish-e позволяет указать определенные теги META, которые можно использовать как документ
свойствами. Содержимое любого МЕТА-тега, который был идентифицирован как документ.
свойство может быть возвращено как часть результатов поиска вместе с рейтингом, именем файла,
заголовок и размер документа (см. переключатели «-p» и «-x» в SWISH-RUN).
Свойства полезны для возврата дополнительных данных из документов в результаты поиска.
- это экономит усилия на чтении и разборе исходных файлов при чтении Swish-e.
результаты поиска, и это особенно полезно, когда исходные документы больше не
доступный или медленный доступ (например, через http).
Еще одна особенность свойств заключается в том, что Swish-e может использовать PropertyNames для сортировки
результаты поиска (см. переключатель "-s").
PropertyNames автор темы
Доступны два варианта. "PropertyNamesCompareCase" и
"PropertyNamesIgnoreCase". Они говорят Swish-e игнорировать или сравнивать регистр, когда
сортировка результатов. По умолчанию "PropertyNames" игнорирует регистр.
PropertyNamesIgnoreCase тема
Ключевое слово PropertyNamesCompareCase
Значения по умолчанию для "внутренних" свойств:
swishtitle - игнорировать регистр
swishdocpath - сравните случай
swishdescription - сравните случай
Их можно переопределить с помощью «PropertyNamesCompareCase» и «PropertyNamesIgnoreCase».
PropertyNamesCompareCase swishtitle
Использование PropertyNames увеличивает размер ваших индексных файлов, иногда
существенно. Свойства будут сжаты, если Swish-e скомпилирован с zlib как
описано на странице руководства INSTALL.
Если Swish-e находит в документе более одного свойства с одинаковым именем,
содержимое будет объединено для строк, а предупреждение - для числовых (или дат)
свойства.
PropertyNamesNoStripChars
PropertyNamesNoStripChars указывает, что перечисленные свойства не должны иметь строк.
младших символов ASCII заменены пробелом. Свойства будут храниться как
найдено в документе.
При печати свойств с помощью двоичного символа swish-e новые строки заменяются пробелом.
персонаж. Используйте библиотеку swish-e (или модуль SWISH :: API perl) для получения свойств
без замены новой строки.
Имена свойствЧисловой
Эта директива похожа на "PropertyNames", но помечает свойство как
строка цифр (целочисленное значение), которая будет храниться как двоичные данные вместо
нить. Это позволяет сортировать с помощью «-s» и ограничивать с помощью «-L» для сортировки и ограничения
собственность правильно.
Swish-e использует Стртул(3) для преобразования строки в длинное целое число без знака.
Следовательно, можно сохранять только положительные целые числа.
В будущих версиях Swish-e можно будет хранить различные типы свойств (например,
отрицательные целые и действительные числа). Эта директива может измениться в будущих выпусках
Свист.
ИмяСвойстваДата
Эта директива аналогична "PropertyNamesNumeric", но также помечает число как
метка машинного времени (секунды с начала эпохи) и будет печатать отформатированную дату, когда
возвращая это свойство. См. «-X» в SWISH-RUN.
Swish-e не анализирует даты при индексировании; вы должны использовать метку времени.
PropertyNameAlias * имя свойства * * список псевдонимов *
Это позволяет использовать псевдонимы для имени свойства. Например, если вы индексируете файлы HTML,
плюс файлы XML, которые написаны на английском, немецком и испанском языках и поэтому используют теги
"title", "title" и "título" можно использовать:
PropertyNameAlias swishtitle title title title title título titulo
Обратите внимание, что swishtitle - это встроенное свойство, используемое для хранения заголовка документа,
и поэтому вам не нужно указывать его как PropertyName перед использованием.
PropertyNamesMaxLength целое число * список метаименов *
Эта опция устанавливает максимальную длину текста, хранящегося в свойстве. Ты должен
укажите число от 0 до максимального целочисленного размера на вашей платформе и список
характеристики. Указанные свойства не должны быть псевдонимами.
Если какое-либо из названий свойств не существует, они будут созданы (например, вам не нужно
чтобы сначала определить свойство с помощью PropertyNames).
В общем, эта функция будет полезна только при синтаксическом анализе HTML или XML с помощью libxml2.
парсер.
Например:
PropertyNamesMaxLength 1000 swishописание
PropertyNameAlias swishdescription body
Что-то вроде
StoreDescription HTML 1000
StoreDescription XML 1000
StoreDescription HTML2 1000
StoreDescription XML2 1000
но StoreDescription позволяет установить тег для каждого типа парсера.
PropertyNamesMaxLength 1000 заголовков
PropertyNameAlias заголовки h1 h2 h3 h4
собирает весь текст заголовка в одно свойство, называемое «заголовки», не более
Символы 1000.
PropertyNamesSortKeyLength integer * список метаименов *
Устанавливает длину строки, используемой при сортировке. По умолчанию 100 символов. В
Параметр отладки -T метанименов выводит список текущих значений индекса.
Этот параметр используется при сортировке во время индексации и, возможно, при сортировке во время
поиск. Это также влияет на порядок при ограничении диапазона значений с помощью -L
опцию.
PreSortedIndex * список названий свойств *
По умолчанию Swish-e создает предварительно отсортированные таблицы при индексировании для каждого имени свойства.
Это позволяет быстрее сортировать результаты. О больших коллекциях документов
эта предварительная сортировка может увеличить время индексации, а также увеличить общий размер
показатель. Эту директиву можно использовать для точной настройки того, какие свойства будут
предварительно отсортированный.
Если "PreSortedIndex" это присутствует в файле конфигурации (действие по умолчанию), все
свойства будут предварительно отсортированы во время индексации. Если он присутствует без каких-либо
параметр, никакие свойства не будут предварительно отсортированы. В противном случае только названия свойств
указанное будет предварительно отсортировано.
Например, если вы хотите отсортировать результаты только по свойству с названием «title»:
PropertyNames название возраст время
Заголовок PreSortedIndex
StoreDescription [XML размер⎪HTML size⎪TXT size]
МагазинОписание позволяет хранить описание документа в индексном файле. Этот
описание может быть возвращено в результатах поиска, когда переключатель "-x" используется для
включают swishописание для расширенных результатов или с помощью "-p swishdescription".
Тип документа (XML, HTML и TXT) должен соответствовать текущему типу документа.
проиндексировано как установлено «IndexContents» или «DefaultContents». См. Эти директивы для
возможные значения. Распространенная проблема заключается в использовании "StoreDescription", но при этом не устанавливается
тип документа с «IndexContents» или «DefaultContents». Другая проблема
различные виды:
Содержание индекса HTML2 .html
StoreDescription HTML
Затем документам .html присваивается тип HTML2 (и они анализируются парсером libxml2),
но описание не будет сохранено, так как это тип HTML вместо HTML2.
Для текстовых документов вы указываете тип TXT (или TXT2 или TXT *) и количество
символы захватить.
Магазин Описание TXT 20
Вышеупомянутое сохраняет только первые двадцать символов из текстового файла в Swish-e.
индексный файл.
Для типов файлов HTML и XML укажите тег, который будет использоваться для описания, и
необязательно количество символов для захвата. Если не указано иное, захватит
все содержимое тега.
StoreDescription HTML 20000
StoreDescription XML 40
Опять же, обратите внимание, что документам должен быть присвоен тип документа с помощью «IndexContents» или
«DefaultContents», чтобы использовать эту функцию.
Swish-e сжимает описания (или любое другое большое свойство), если оно скомпилировано в
используйте zlib (см. УСТАНОВИТЬ). Это рекомендуется при использовании StoreDescription и больших
количество документов. Сжатие от 30% до 50% не редкость для файлов HTML.
Пропкомпрессионлевел [0-9]
Эта директива устанавливает уровень сжатия, используемый при сохранении свойств на диск. А
установка нуля означает отсутствие сжатия, а установка девяти - максимальное сжатие.
Значение по умолчанию зависит от настройки по умолчанию, скомпилированной с помощью zlib, но обычно их шесть.
Эта опция полезна при использовании "StoreDescription" для хранения большого количества текста в
properties (или при использовании "PropertyNames" с большими размерами свойств).
Свойства должны быть больше значения, определенного в config.h (100 по умолчанию) перед
будет предпринята попытка сжатия. Swish-e никогда не сохранит результаты
сжатие, если сжатые данные больше, чем исходные.
Этот параметр доступен только в том случае, если Swish-e скомпилирован с поддержкой zlib.
TruncateDocSize * количество символов *
TruncateDocSize ограничивает размер документа при индексировании документов и / или использовании
фильтры. Эта конфигурационная директива обрезает количество прочитанных байтов документа до
указанного размера. Это означает: если документ больше, читать только указанные
номера байтов документа.
Пример:
TruncateDocSize 10000000
По умолчанию - ноль, что означает чтение всех данных.
Предупреждение: если вы используете TruncateDocSize, используйте его с осторожностью! TruncateDocSize - это безопасность
только ремень, чтобы ограничить, например, производительность фильтра, при доступе к базам данных или ограничить
«убегающие» фильтры. Усечение ввода документа может разрушить структуру документа для Swish-e
(например, swish может пропускать закрывающие теги для документов XML или HTML).
TruncateDocSize в настоящее время не работает с методом источника ввода "prog".
FuzzyIndexingMode NONE⎪Stemming⎪Soundex⎪Metaphone⎪DoubleMetaphone
Выбирает тип создаваемого индекса. Можно создать только один тип индекса.
Рекомендуется создать как нормальный, так и нечеткий индексы и разрешить поиск
интерфейс выберите, какой индекс использовать. Многие люди считают, что нечеткие поисковые запросы тоже
нечеткие.
Доступные параметры нечеткой индексации можно отобразить, запустив
swish-e -T LIST_FUZZY_MODES
Доступные варианты включают:
Ничто
Слова хранятся в указателе без какого-либо преобразования. Это значение по умолчанию.
Стебель_ *
Эта опция использует один из установленных стеммеров Snowball.
(http://snowball.tartarus.org/).
Установленные стеммеры можно просмотреть, запустив
swish-e -T LIST_FUZZY_MODES
Например, чтобы использовать испанский модуль стемминга:
Stemming_es FuzzyIndexingMode
Стебель или Stemming_en
**Это вариант is нет дольше поддерживается. **
Выбирает устаревший стеммер Swish-e English.
Это устарело в пользу стеммера Snowball English Stemming_en1.
Слова преобразуются с использованием алгоритма определения корня Портера.
От: http://www.tartarus.org/~martin/PorterStemmer/
Алгоритм стемминга Портера (или стеммер Портера) представляет собой
процесс удаления общих морфологических и флексионных
окончания слов на английском языке. Его основное использование - как часть
процесс нормализации срока, который обычно выполняется при настройке
Информационно-поисковые системы.
Это поможет, например, при поиске «бег» также найти «бег» и «бег».
Функция выделения корней не преобразует слова в их корень, а скорее
программно удаляет окончания слов, пытаясь образовать похожие слова с
разные окончания связаны с одной и той же строкой символов. Это не идеально
системы, и поиск по ограниченным индексам часто дает любопытные результаты. За
Например, два совершенно разных слова могут происходить от одного и того же слова.
Стебель также может сбивать с толку при использовании подстановочного знака (усечения). За
Например, вы можете ожидать, что найдете слово «бег», выполнив поиск по запросу «runn *».
Но это не удается при использовании ограниченного индекса, поскольку "бегущий" связан с "бегом", но
поиск «runn *» ищет слова, начинающиеся с «runn».
Саундэкс
Soundex был разработан в 1880-х годах, поэтому записи для людей с похожим звучанием
имена можно было найти легче. Soundex - это закодированная фамилия, основанная на способе
фамилия звучит, а не написание. Фамилии, которые звучат одинаково, например, Смит и
Smyth, хранятся вместе под одним и тем же кодом Soundex. Это в основном полезно для
Американский английский.
Soundex не следует использовать для поиска похожих слов. Метафон был бы
больше подходит для общего звукового сопоставления слов. Soundex следует использовать только
где вам нужно искать в нескольких документах имена собственные, которые звучат одинаково.
Это в основном используется для индексации генеалогических записей. Это может быть полезно для
индексация других наборов данных, состоящих в основном из имен. Много общего имени
Варианты соответствуют Soundex. Единственное заметное исключение - первая буква
имени. Первая буква не соответствует звуку.
Метафон и ДаблМетафон
Слова преобразуются в короткие серии букв, представляющие звук
слово (на английском). Алгоритмы метафона часто используются для поиска неправильно написанных
слова в словарных программах.
От: http://aspell.sourceforge.net/metaphone/
Алгоритм метафона Лоуренса Филипса - это алгоритм, который возвращает
грубое приближение того, как звучит английское слово.
В режиме "DoubleMetaphone" иногда создаются два разных метафона для
то же слово. Предполагается, что это будет полезно, когда слово можно произносить больше
чем в одну сторону.
Индекс метафона должен давать результаты где-то между Soundex и Stemming.
UseStemming [да⎪НЕТ]
Укажите «Да», чтобы применить алгоритм выделения корня слова во время индексации, в противном случае - «Нет».
UseStemming нет
UseStemming да
Когда UseStemming имеет значение «да», каждое слово прерывается перед помещением его в
индекса.
Эта опция устарела. Он был заменен на "FuzzyIndexingMode".
UseSoundex [да⎪НЕТ]
Когда UseSoundex установлен на «да», каждое слово преобразуется в код Soundex перед
поместив его в index.
Эта опция устарела. Он был заменен на "FuzzyIndexingMode".
IgnoreTotalWordCountWhenRanking [ДА⎪нет]
Укажите «Да», чтобы игнорировать общее количество слов в файле при расчете рейтинга.
Часто лучше слияниями и небольшими файлами. По умолчанию - да.
IgnoreTotalWordCountWhenRanking нет
В версии 2.2 значение по умолчанию было изменено с нет на да.
ПРИМЕЧАНИЕ: должен быть установлен на нет если вы собираетесь использовать опцию -R 1 при поиске.
MinWordLimit * целое число *
Установите минимальную длину слова. Более короткие слова не индексируются. По умолчанию
1 (как определено в src / config.h).
Минвордлимит 5
MaxWordLimit * целое число *
Установите максимальную длину индексируемого слова. Каждое более длинное слово не индексируется.
По умолчанию - 40 (как определено в src / config.h).
WordCharacters * строка символов *
IgnoreFirstChar * строка символов *
IgnoreLastChar * строка символов *
BeginCharacters * строка символов *
EndCharacters * строка символов *
Эти настройки определяют, из чего состоит слово для механизма индексации Swish-e.
Скомпилировано по умолчанию в src / config.h.
При индексировании Swish-e использует СловоПерсонажи чтобы разбить документ на слова. Слова
определяются любой строкой непустых символов, которые содержат только символы
перечислено в WordCharacters. Если строка символов включает символ, который не
в WordCharacters слово будет разбито на два или более отдельных слова.
Например:
WordCharacters abde
Превратит «abcde» в два слова «ab» и «de».
Далее, из этих слов любые символы, определенные в Игнорефирстчар снимаются
начало слова, и Игнореластчар символы удаляются с конца слова.
Это позволяет, например, ставить точки внутри слова (www.slashdot.com), но не в конце
слова. Символы в IgnoreFirstChar и IgnoreLastChar должны быть в
СловоСимволы.
Наконец, полученные слова ДОЛЖНЫ начинаться с одного из символов, перечисленных в
НачалоПерсонажи и заканчиваться одним из символов, перечисленных в КонецПерсонажи.
BeginCharacters и EndCharacters должны быть подмножеством символов в
WordCharacters. Часто символы Word, BeginCharacters и EndCharacters будут
тоже самое.
Обратите внимание, что тот же процесс применяется к запросу во время поиска.
Чтобы получить правильные настройки, необходимо тщательно обдумать и потренироваться. Это
полезно создать индекс для одного тестового файла, а затем посмотреть на слова, которые
помещается в индекс (см. переключатели поиска "-v 4", "-D" и "-k").
В настоящее время поддерживаются только восьмибитные символы.
Пример:
Символы слов .abcdefghijklmnopqrstuvwxyz
НачалоПерсонажи abcdefghijklmnopqrstuvwxyz
Конечные символы abcdefghijklmnopqrstuvwxyz
IgnoreFirstChar.
IgnoreLastChar.
Итак, строка
Пожалуйста, посетите http://www.example.com/path/to/file.html.
будут проиндексированы как следующие слова:
пожалуйста
HTTP
www.example.com
путь
в
файл.html
Это означает, что вы можете искать "www.example.com" как отдельное слово, но при поиске
для просто «примера» документ не найдешь.
Примечание: при индексировании HTML-документов HTML-объекты преобразуются в свои символы.
эквиваленты до обработки с этими директивами. Это изменение от
предыдущие версии Swish-e, где от вас требовалось включить символы
"0123456789 & #;" для индексации сущностей. См. Также «ConvertHTMLEntities»
Модные словечки [* список модных словечек * ⎪File: path]
Параметр Buzzwords позволяет указать слова, которые будут индексироваться независимо от
WordCharacters, BeginCharacters, EndCharacters, корнем, soundex и многие другие
другие проверки слов при индексировании.
Модные слова нечувствительны к регистру.
Модные слова должны разделяться пробелами и могут охватывать несколько директив. Если
используется специальный формат «Файл: имя файла», тогда ключевые слова будут считываться из
внешний файл во время индексации.
Примеры:
Модные словечки C ++ TCP / IP
Файл Buzzwords: ./buzzwords.lst
Если Buzzword содержит символы оператора поиска, они должны быть отмечены обратной косой чертой, когда
поиск. Например:
Модные словечки C ++ TCP / IP web = http
./swish-e -w 'сеть \ = http'
Модные слова можно найти, разделив текст на пробелы, удалив "IgnoreFirstChar".
и "IgnoreLastChar" символов из слова, а затем сравнивая со списком
«Модные словечки». Поэтому, добавляя "Модные словечки" в индекс, вы, вероятно, захотите
определите параметры «IgnoreFirstChar» и «IgnoreLastChar».
Примечание. Специфические настройки Buzzwords для "IgnoreFirstChar" и "IgnoreLastChar" могут быть
используется в будущем.
CompressPositions [да⎪НЕТ]
Эта опция включает сжатие zlib для отдельных словарных данных в индексном файле. В
по умолчанию - НЕТ, то есть данные индексного слова по умолчанию не сжимаются.
Включение этой опции может уменьшить размер индексного файла, но за счет
более медленное время поиска по шаблону.
Значение по умолчанию изменено с ДА на НЕТ, начиная с версии 2.4.3.
IgnoreWords [* список стоп-слов * ⎪File: path]
Параметр IgnoreWords позволяет указать слова, которые следует игнорировать, называется игнорируемые слова,
по умолчанию запрещенные слова не используются.
Слова должны быть разделены пробелами и могут охватывать несколько директив. Если особый
используется формат "Файл: имя файла", тогда стоп-слова будут прочитаны из внешнего файла
во время индексации.
В предыдущих версиях Swish-e вы могли использовать директиву
IgnoreWords swishdefault - устарело!
для включения списка по умолчанию из игнорируемых слов. Это ключевое слово больше не
поддерживается.
Примеры:
IgnoreWords www http и или
Файл IgnoreWords: ./stopwords.de
UseWords [* список слов * ⎪File: path]
UseWords определяет слова, которые Swish-e будет индексировать. Только приблизительно перечисленные слова будут
проиндексировано.
Вы можете указать список слов после директивы (вы можете указать более одного
Директива UseWords в файле конфигурации) и / или используйте форму "File:", чтобы указать путь
в файл, содержащий слова:
UseWords perl, python, pascal, fortran, базовый, cobal, php
Файл UseWords: / путь / к / my / wordlist
Пожалуйста, опустите список Swish-e, если вы действительно используете эту функцию. Это может быть
удалено из будущих версий.
IgnoreLimit * целое целое число *
Это автоматически пропускает слова, которые слишком часто встречаются в файлах (эти слова
называемые стоп-словами). Укажите целый процент и число, например «80 256». Этот
исключает слова, которые встречаются более чем в 80% файлов и встречаются более чем в 256 файлах. Комментарий
out, чтобы отключить автоматическую остановку записи.
Игнор Лимит 50 1000
Swish-e должен выполнить дополнительную обработку для настройки всего индекса при использовании этой функции.
Рекомендуется, чтобы вместо использования этой функции вы определили, какие слова
стоп-слова и добавить их в ИнгорВордс в вашем файле конфигурации. Для этого используйте
IgnoreLimit один раз и обратите внимание на стоп-слова, обнаруженные при индексировании. Добавь это
list в IgnoreWords, а затем удалите IgnoreLimit из файла конфигурации.
IgnoreMetaTags * список имен *
«IgnoreMetaTags» определяет список метатегов, которые следует игнорировать при индексировании файлов XML (и
HTML-файлы, если для синтаксического анализа HTML используется libxml2). Весь текст в тегах будет
игнорируется - как для индексации («MetaNames»), так и для свойств («PropertyNames»). До сих пор
анализировать свойства, но не индексировать текст, см. «UndefinedMetaTags».
Эта опция полезна, чтобы избежать индексации определенных данных из файла. Например:
Уильям
Шекспир
25 апреля 1999
В приведенном выше примере вы можете хотите проиндексировать обновленную дату и, следовательно,
предотвратить нахождение этой записи поиском
-w 'person = (апрель)'
Это решается:
Игнорировать метатеги updated_date
См. Также «UndefinedMetaTags».
IgnoreNumberChars * список символов *
Экспериментальная функция
Эту экспериментальную функцию можно использовать для определения набора символов, описывающих
номер. Если будет обнаружено, что слово содержит только эти символы, оно не будет проиндексировано.
Перечисленные символы должны быть частью настроек «WordCharacters». Другими словами,
Проверено слово "word" - это слово, которое в противном случае Swish-e проиндексировал бы.
Например,
IgnoreNumberChars 0123456789 $.,
Тогда Swish-e не будет индексировать следующее:
123
123,456.78
$123.45
У вас может возникнуть соблазн избежать индексации шестнадцатеричных чисел с помощью:
Игнорнумберчарс 0123456789abcdef
который не будет индексировать 0D31, но также не будет индексировать слово «плохой».
Это экспериментальная функция, которая может измениться в будущих версиях. Один возможный
изменение заключается в использовании вместо этого регулярных выражений.
IndexComments [НЕТ⎪да]
Эта опция позволяет пользователю решить, нужно ли индексировать содержимое HTML-комментариев. Дефолт
нет. Установите значение «Да», если требуется индексация комментариев.
УказательКомментарии да
Примечание. Это изменение поведения по умолчанию до версии 2.2.
TranslateCharacters [* строка1 строка2 * ⎪: ascii7:]
Директива TranslateCharacters сопоставляет символы в строке1 с символами
перечислено в строке2.
Например:
# Это проиндексирует a_b как ab и ámo как amo
Перевестисимволы _á -a
«TranslateCharacters: ascii7:» - это предопределенный набор символов, который будет переводить
восьмибитные символы в символы ascii7. Использование правила: ascii7: переведет
«Ääç» на «aac». Это означает: поиск «elik», «çelik» или «celik» будет соответствовать
то же слово.
TranslateCharacters выполняется на ранней стадии процесса индексации, после преобразования HTML.
сущностей, но перед разделением вводимого текста на слова на основе СловоПерсонажи. Так
символы, которые вы переводите от не нужно указывать в словах.
Такие же переводы символов имеют место при поиске.
BumpPositionCounterCharacters *строка*
При индексировании Swish-e присваивает каждому слову позицию в слове. Это позволяет фразу
поиск. Могут быть случаи, когда вы хотите предотвратить сопоставление фраз. В
Директива BumpPositionCounterCharacters позволяет указать набор символов, которые
при обнаружении в тексте будет увеличивать позицию слова, эффективно предотвращая
фраза соответствует этому символу.
Например, если у вас есть тег:
компьютерное программирование ⎪ компьютеры Apple
Возможно, вы захотите предотвратить сопоставление «яблока программирования» в этом мета-имени.
BumpPositionCounterCharacters ⎪
По умолчанию нет, и вы можете указать строку символов.
DontBumpPositionOnEndTags *список имен*
DontBumpPositionOnStartTags * список имен *
Поскольку метатеги обычно представляют собой отдельные поля данных, счетчик позиции слова
автоматически перемещается между метатегами (фактически, при обнаружении начального тега и
когда конечный тег найден). Это предотвращает сопоставление фразы, содержащей более одного
метаимя. «DontBumpPositionOnEndTags» и «DontBumpPositionOnStartTags» отключают это
функция для перечисленных метанименов.
Например,
Уильям
Шекспир
25 апреля 1999
В файле конфигурации:
DontBumpPositionOnEndTags первое_имя
DontBumpPositionOnStartTags фамилия_имя
Эта конфигурация позволяет поиск по этой фразе
-w 'человек=("Уильям Шекспир")'
но по этой фразе поиск не пройдет
-w 'человек = ("Шекспир апрель")'
Директивы для Файл О компании метод Важно
Некоторые директивы могут использоваться по-разному в зависимости от источника документов. Эти
директивы действительны только при использовании Файл система метод индексации.
IndexOnly * список суффиксов файлов *
Эта директива определяет допустимые суффиксы (расширения) файлов при индексировании. В
по умолчанию индексируются все файлы, указанные в ИндексКаталог.
# Индексируйте только файлы .html .htm и .q
Индексонли .html .htm .q
«IndexOnly» проверяет, заканчивается ли файл перечисленными символами. Не проверяет
«расширения». IndexOnly проверяется непосредственно перед обработкой FileRules.
FollowSymLinks [да⎪НЕТ]
Поставьте «да», чтобы следовать символическим ссылкам в индексации, иначе «нет». По умолчанию нет.
FollowSymLinks нет
FollowSymLinks да
Обратите внимание, что при установке на "нет" дополнительных состояние(2) системные вызовы должны выполняться для каждого файла. За
большое количество файлов, вы можете увидеть небольшое сокращение времени индексации, установив этот
на «да».
См. Также переключатель «-l» в SWISH-RUN.
FileRules [тип] [содержит⎪is⎪regex] *регулярное выражение*
FileMatch [тип] [содержит⎪is⎪regex] * регулярное выражение *
FileRules и FileMatch используются, соответственно, для исключения и включения файлов и
каталоги для индексации. Поскольку по умолчанию Swish-e индексирует все файлы и рекурсирует все
каталоги (но см. также «FollowSymLinks»), вы обычно будете использовать «FileRules» только для
исключить файлы или каталоги. "FileMatch" полезен в некоторых случаях, например, для
переопределить поведение «IndexOnly». Некоторые примеры приведены ниже.
За исключением «FileRules title ...», эта функция доступна только для доступа к файлам.
метод (-S fs), который является режимом индексации по умолчанию. Кроме того, любая модификация имени пути
с «ReplaceRules» происходит после проверки «FileRules». (Вряд ли ты
исключит файлы с «FileRules» на основе текста, который вы добавили с «ReplaceRules»!)
Регулярное выражение - это расширенное регулярное выражение C regex.h. Вы можете поставить
более одного регулярного выражения в строке или используйте отдельные директивы. Предшествующий
регулярное выражение со словом «не» отменяет совпадение.
Регулярное выражение сравнивается с [тип] как описано ниже.
По историческим причинам вы можете указать «содержит» или «есть». "это" просто заставляет
регулярное выражение для сопоставления в начале и конце строки (внутренне
предваряя "^" и добавляя "$" к регулярному выражению).
Для параметра «regex» требуются символы-разделители:
Регулярное выражение заголовка FileRules / ^ private / i
Единственное преимущество "регулярного выражения" заключается в том, что вы хотите выполнять сопоставления без учета регистра или просто
чтобы ваши регулярные выражения выглядели как регулярные выражения Perl. Вы должны использовать
совпадающие разделители; (), {} и [] в настоящее время не поддерживаются без уважительной причины.
кроме лени.
Используйте кавычки ("или ') вокруг шаблона, если он содержит пробелы. Обратите внимание, что
символ обратной косой черты становится escape-символом в кавычках.
Например, эти наборы генерируют одинаковые регулярные выражения.
Название FileRules - привет
Заголовок FileRules содержит ^hello$
Регулярное выражение заголовка FileRules / ^ hello $ /
Все они нуждаются в кавычках из-за включенного пробела
Заголовок FileRules "привет"
Заголовок FileRules содержит "^ hello there $"
Регулярное выражение заголовка FileRules "! ^ Hello there $!"
Они показывают, как нужно удвоить обратную косую черту внутри кавычек. Swish-e преобразует
двойная обратная косая черта в одинарную обратную косая черта, а затем передает этот единственный в обычный
компилятор выражений.
Регулярное выражение имени файла FileRules /\.pdf/
Регулярное выражение имени файла FileRules "/\\.pdf/"
FileRules имя_файла регулярное выражение! Привет \\ там! # необходимо двойное значение для настоящей обратной косой черты
Регулярное выражение имени файла FileRules "!hello\\\\there!" # нужно двойное двойное в кавычках
Согласование Тип
Могут быть предоставлены следующие типы строк соответствия:
Путь к FileRules
FileRules имя каталога
имя файла FileRules
Каталог FileRules
Название FileRules
FileMatch путь
FileMatch имя файла
Имя каталога FileMatch
Каталог FileMatch
пути сопоставляет регулярное выражение с текущим именем пути. Путь
может быть или не быть абсолютным в зависимости от того, что вы указали в «IndexDir».
Пример:
# Не индексируйте пути, содержащие частные или скрытые
Имя пути FileRules содержит (частное⎪скрытое)
# То же самое
Регулярное выражение пути FileRules /(частное⎪скрытое)/
# Не индексировать exe-файлы
Путь FileRules содержит \.exe$
имя_директории и имя файла разделить имя пути последним символом-разделителем на
имя каталога и имя файла. Затем они сравниваются с образцами
поставляется. Имена каталогов делают иметь в конце косую черту. Во всех именах путей используется
косая черта в качестве разделителя в Swish-e.
Пример:
# То же, что и в предыдущем примере - не индексировать файлы *.exe.
Имя файла FileRules содержит \.exe$
# Не индексируйте файлы под названием test.html files
Имя файла FileRules содержит ^ test \ .html $
# То же самое
Имя файла FileRules — test\.html
# Не индексировать каталоги, содержащие "old" (/usr/local/myold/docs)
Имя каталога FileRules содержит старые
# Не индексируйте каталоги, содержащие сегмент пути "old" (/ usr / local / old / foo)
Имя каталога FileRules содержит / old /
# Индексируйте только .htm, .html, а также любые имена файлов, состоящие из цифр
Индексонли .htm .html
FileMatch имя файла содержит ^ \ d + $
# То же, что и предыдущее, но может быть немного медленнее
Регулярное выражение имени файла FileRules не !\.(htm⎪html)$!
FileMatch имя файла содержит ^ \ d + $
Swish-e проверяет эти настройки в порядке «имя пути», «имя каталога» и «имя файла».
и шаблоны "FileMatch" проверяются перед "FileRules", как правило. Это позволяет вам
исключить большинство файлов с помощью «FileRules», но разрешить в некоторых особых случаях с помощью
«FileMatch». Например:
# Исключить все файлы .exe, .bin и .bat
Имя файла FileRules содержит \.(exe⎪bin⎪bat)$
# Но пусть эти двое войдут
Имя файла FileMatch - baseball \ .bat incoming_mail \ .bin
# То же, но как единый паттерн
Имя файла FileMatch (бейсбол\.bat⎪входящая_почта\.bin)
Тип «справочник» в некоторой степени уникален. Когда Swish-e рекурсивно переходит в каталог, он
сравнит все файлов в каталоге с шаблоном, а затем решите, если это
весь каталог должен или не должен индексироваться (или рекурсироваться). Обратите внимание, что вы
сопоставление с именами файлов в каталоге - и некоторые из этих имен могут быть каталогами
имена.
Совпадение «Каталог FileRules» приведет к тому, что Swish-e будет игнорировать все файлы и вложенные файлы.
каталоги в текущем каталоге.
Предупреждение: совпадение с «каталогом FileMatch» говорит об индексации многое в *текущем*
каталог и игнорировать любые FileRules для этого каталога.
Пример:
# Не индексируйте каталоги (и подкаталоги), содержащие
# файл (или подкаталог) с именем "index.skip"
Каталог FileRules содержит ^index\.skip$
# Не индексируйте каталоги, содержащие файл .htaccess.
Каталог FileRules содержит ^ \. Htaccess
Примечание: пока обработка каталоги, Swish-e проигнорирует любые файлы или каталоги,
начинаются с точки ("."). Вы можете индексировать файлы или каталоги, которые начинаются с точки с помощью
указав свое имя с помощью «IndexDir» или «-i».
«title» проверяет соответствие шаблону в заголовке HTML.
Пример:
Заголовок FileRules содержит указатели на пример построения
# В этом примере говорится игнорировать регистр
Регулярное выражение заголовка FileRules "/ ^ Внутренний документ / i"
Примечание. «Заголовок FileRules» работает для любого метода ввода (fs, prog или http), который анализируется.
как HTML, и где в документе был найден заголовок.
В случае, если все это кажется немного запутанным, обработка каталога происходит в
в следующем порядке.
Сначала проверяется имя каталога:
FileRules dirname - отклонить весь каталог, если он совпадает
Затем каталог сканируется, и имя каждого файла (которое может быть именем
подкаталог) проверяется:
Каталог FileRules - отклонить весь каталог, если * любые * файлы совпадают
Каталог FileMatch - принять весь каталог, если * любые * файлы совпадают
Затем, если "Каталог FileMatch" не совпадает, каждый файл проверяется с помощью FileMatch. А
match говорит об индексировании файла без дальнейшего тестирования (т.е. переопределяет FileRules и
Только индекс):
Путь FileMatch \
FileMatch dirname - файл принимается, если есть совпадения
FileMatch имя файла /
в противном случае
IndexOnly — файл проверяется на правильное расширение.
Путь FileRules \
FileRules dirname - файл отклоняется при совпадении
FileRules имя файла /
наконец, файл индексируется.
Файлы (не каталоги), перечисленные с помощью «IndexDir» или «-i», обрабатываются аналогичным образом:
Путь FileMatch \
FileMatch dirname - файл принимается, если есть совпадения
FileMatch имя файла /
в противном случае файл отклоняется, если он не имеет правильного расширения или
FileRules совпадает.
IndexOnly — файл проверяется на правильное расширение.
Путь FileRules \
FileRules dirname - файл отклоняется при совпадении
FileRules имя файла /
Примечание. Если что-то не индексируется, как вы ожидали, создайте каталог с некоторыми тестами.
files и используйте опцию трассировки "-T regex", чтобы увидеть, как проверяются имена файлов. Начинать
с очень простыми тестами!
Директивы для HTTP О компании Способ доставки Только приблизительно
Метод доступа HTTP включается переключателем «-S http» при индексировании. Это работает
запуск программы на Perl под названием SwishSpider, которая загружает документы с веб-сервера.
Только текстовые файлы (тип содержимого «текст / *») индексируются с помощью метода доступа HTTP. Другой
типы документов (например, PDF или MSWord) также могут быть проиндексированы. SwishSpider попытается
использовать модуль SWISH :: Filter (входит в состав Swish-e) для
конвертировать документы в формат, который Swish-e может индексировать.
Примечание. Программный метод сканирования -S (с использованием файла spider.pl) может быть заменой метода -S.
http метод. Он предлагает больше вариантов конфигурации и лучшую скорость движения.
Эти директивы ниже доступны при использовании метода индексирования HTTP-доступа.
MaxDepth * целое число *
MaxDepth определяет, сколько ссылок должен пройти паук перед остановкой. Значение
0 настраивает паука для обхода всех ссылок. По умолчанию MaxDepth 0.
Максимальная глубина 5
Примечание. Значение по умолчанию было изменено с 5 на 0 в версии 2.4.0.
Задержка *секунды*
Количество секунд ожидания между отправкой запросов на сервер. Эта настройка
позволяет более удобно исследовать удаленные сайты. По умолчанию 5 секунд.
Задержка 1
Примечание. Значение по умолчанию было изменено с 60 на 5 секунд в версии 2.4.0.
TmpDir * путь *
Расположение временного каталога с возможностью записи в вашей системе. Метод доступа HTTP
говорит помощнику Perl поместить свои файлы в это место, а переключатель "-e" вызывает
Swish-e, чтобы использовать этот каталог при индексировании. По умолчанию нет.
TmpDir / tmp / swish
Если этот каталог не существует или недоступен для записи, Swish-e выдаст ошибку.
во время индексации.
Обратите внимание, что переменные среды «TMPDIR», «TMP» и «TEMP» (именно в таком порядке)
переопределение этот параметр.
SpiderDirectory * путь *
Расположение вспомогательного скрипта Perl, называемого паук. Если вы используете родственника
каталог, он относится к вашему каталогу, когда вы запускаете Swish-e, а не к каталогу
где находится Swish-e. По умолчанию это место, где был установлен swishspider. Обычно
это не нужно устанавливать.
SpiderDirectory / usr / местный / swish
EquivalentServer * псевдоним сервера *
Часто один и тот же сайт может называться по-разному. Типичным примером является
что часто http://www.some-server.com и http://some-server.com такие же. Каждый
строка должна содержать список всех методов / имен, которые следует считать эквивалентными.
Можно использовать несколько директив EquivalentServer. Каждая директива определяет свой собственный набор
эквивалентных серверов.
Эквивалентный сервер http://library.berkeley.edu http://www.lib.berkeley.edu
Эквивалентный сервер http://sunsite.berkeley.edu: 2000 http://sunsite.berkeley.edu
Директивы для прог О компании Способ доставки Только приблизительно
В этом разделе подробно описаны директивы, которые доступны только для источника документа "prog".
особенность Swish-e. Метод доступа "прог" запускает внешнюю программу, которая "кормит"
документы на Swish-е. Это позволяет индексировать и фильтровать документы из любого источника.
См. Prog - метод доступа общего назначения на странице руководства SWISH-RUN для получения дополнительной информации.
Несколько примеров программ для использования с методом доступа "prog" представлены в
прог-бен каталог. Пожалуйста, посмотрите этот пример, если у вас есть вопросы о реализации
программа ввода "прог".
SwishProgParameters * список параметров *
Это список параметров, которые будут отправлены внешней программе при запуске
с методом источника документа "прога".
SwishProgParameters / path / to / config привет
IndexDir /путь/к/program.pl
Затем запускаем:
swish-e -c config -S прога
Swish-e выполнит «/path/to/program.pl» и передаст «/path/to/config hello there» как
три аргумента командной строки для программы. Эта директива упрощает передачу
настройки из файла конфигурации Swish-e во внешнюю программу.
Например, программа "spider.pl" (находится в каталоге "prog-bin") использует
«SwishProgParameters», чтобы указать, какой файл следует читать для получения информации о конфигурации.
SwishProgParameters Spider.config
Индексный каталог ./spider.pl
Программа "spider.pl" также имеет действие по умолчанию, так что вы можете избежать использования
конфигурационный файл:
SwishProgParameters по умолчанию http://www.swishe.org/ http://some.other.site/
Индексный каталог ./spider.pl
И программа-паук будет использовать настройки по умолчанию для сканирования этих сайтов.
Swish-e может читать документы со стандартного ввода, так что это еще один способ запустить внешний
программа с параметрами:
./spider.pl Spider.conf ⎪ ./swish-e -S prog -i stdin
Заметки когда через MS Windows
Вы должны использовать разделители путей в стиле unix, чтобы указать вашу внешнюю программу. Свист будет
преобразовать косую черту в обратную косую черту перед вызовом внешней программы. Это только
true для имени программы, указанного с помощью «IndexDir» или параметра командной строки «-i».
Кроме того, Swish-e удостоверится, что указанная программа действительно существует, что означает, что вы
необходимо использовать полное название программы.
Например, чтобы запустить программу Perl Spider паук.pl вам понадобится Swish-e
файл конфигурации, например:
IndexDir e: /perl/bin/perl.exe
SwishProgParameters prog-bin / spider.pl по умолчанию http://swish-e.org
и запустите индексацию командой:
swish-e -c swish.cfg -S прог -v 9
Команда «IndexDir» сообщает Swish-e имя запускаемой программы. Под юникс можно
просто укажите имя скрипта, так как unix определит программу с первого раза
строка сценария.
«SwishProgParameters» - это параметры, передаваемые программе, указанной в «IndexDir».
(в данном случае perl.exe). Первый параметр — Perl-скрипт для запуска.
(прог-бен/spider.pl). Perl передает остальные параметры непосредственно в сценарий Perl.
Второй параметр по умолчанию сообщает паук.pl программа для использования настроек по умолчанию для
спайдеринга (или вы можете указать конфигурационный файл спайдера — см. "perldoc spider.pl" для
детали), и, наконец, URL-адрес передается в программу-паук.
Документ ФИЛЬТР Директивы
Внутренне Swish-e умеет анализировать только текст, HTML и XML-документы. С «фильтрами»
вы можете индексировать другие типы документов. Например, если все ваши веб-страницы в формате gzip
форматировать фильтр может распаковывать их на лету для индексации.
Вы можете прочитать вопрос часто задаваемых вопросов Swish-e о фильтрации, прежде чем продолжить здесь. Как
Я фильтрую документы?
Существует два предлагаемых метода фильтрации.
фильтрация SWISH :: Фильтр
Дистрибутив Swish-e включает модуль Perl под названием SWISH :: Filter и индивидуальный
фильтры, расположенные в фильтры каталог. Эта система использует подключаемые фильтры для увеличения
типы документов, которые может индексировать Swish-e. Подключаемые фильтры на самом деле не выполняют
фильтрация, а скорее предоставляет стандартный интерфейс для доступа к программам, которые могут фильтровать
или конвертировать документы. Программы, выполняющие фильтрацию, не входят в Swish-e.
распределение; они должны быть загружены и установлены отдельно.
Преимущество этого метода в том, что можно легко установить новые методы фильтрации.
Эта система предназначена для работы с методами -S http и -prog, но также может использоваться
с функцией «FileFilter» и методом индексации -S fs. Видеть
$ prefix / share / doc / swish-e / examples / filter-bin / swish_filter.pl для примера.
Смотрите пост в фильтры / README файл для получения дополнительной информации.
фильтрация ФайлФильтр которая
Фильтр — это внешняя программа, которую Swish-e выполняет при обработке документа
заданный тип. Swish-e выполнит программу фильтрации для каждого файла, который соответствует файлу
суффикс (расширение), установленный в ФайлФильтр or ФайлФильтрМатч директивы. ФайлФильтрМатч
соответствует с использованием регулярных выражений и описывается ниже.
Фильтры можно использовать с любым методом ввода (например, -S fs, -S http или -S prog). Но
потому что
Swish-e вызывает внешнюю программу, проходящую как по умолчанию аргументы:
$ 0 имя программы фильтра
$1 физический путь к файлу для чтения. Это может быть временное расположение файла, если
индексация методом http.
$ 2 При индексировании в файловой системе это будет то же самое, что и $ 1 (путь к
исходный файл), но при индексировании по методу http это будет URL-адрес
исходный документ.
Swish-e также может передавать другие параметры программе фильтрации. Эти параметры могут быть
определены с использованием ФайлФильтр or ФайлФильтрМатч директивы. См. Раздел Параметры фильтра ниже.
Программа-фильтр должна открыть файл, обработать его содержимое и вернуть его в Swish-e путем
печать в STDOUT.
Обратите внимание, что это может добавить значительное количество времени к процессу индексации, если ваш
Внешняя программа - это сценарий Perl или оболочки. Если у вас много файлов для фильтрации, вам следует
подумайте о том, чтобы написать свой фильтр на C вместо сценария оболочки или perl, или использовать "prog"
Метод доступа вместе с SWISH :: Filter.
FilterDir *путь к каталогу*
Устаревшее.
Это путь к каталогу, в котором хранятся программы фильтрации. Swish-e выглядит
в этом каталоге, чтобы найти фильтр, указанный в ФайлФильтр Директивы.
Эта директива не нужна, если программа-фильтр находится в пути вашей системы.
Даже если ваш фильтр не находится на пути к вашей системе, вы можете указать полный путь к
filter в директивах FileFilter или FileFilterMatch.
Пример:
Каталог фильтров /usr/local/swish/filters
FileFilter * суффикс * "filter-prog" ["filter-options"]
Это сопоставляет суффикс файла (расширение) с программой фильтра. Если фильтр-прога начинается с
разделитель каталогов (абсолютный путь), Swish-e не использует настройки FilterDir, но
использует данный фильтр-прога путь напрямую.
В системах с рабочим вилка(2) системный вызов, программа фильтра запускается
forking swish, а затем выполнение фильтра. Это означает, что оболочка не используется для запуска
фильтр и никакие аргументы не передаются через оболочку.
В других системах (например, Windows) аргументы заключаются в двойные кавычки и открывать(3) используется
запустить программу. Это передает аргумент через оболочку и может быть безопасным
забота в зависимости от способностей оболочки.
Параметры фильтра:
Параметры фильтра — это строка, передаваемая в качестве аргументов фильтр-прога. Параметры фильтра
может содержать переменные, замененные Swish-e. Если вы опустите параметры фильтра Swish-е будет
используйте параметры по умолчанию для перечисленных выше параметров.
По умолчанию: %p %P
Это означает: передать «путь к рабочему файлу» и «путь к файлу документа» для фильтрации.
Переменные в параметрах фильтра:
знак равно
% P = полный путь к документу (например, URL-адрес или путь в файловой системе)
% p = Полный путь к рабочему файлу (возможно, tmpfile или реальный путь к документу в файловой системе)
% F = имя файла удалено из полного пути к документу
%f = Имя файла удалено из «рабочего» пути
% D = Директория удалена из полного пути к документу
%d = имя каталога удалено из полного «рабочего» пути
Примеры переданных строк:
% P = путь к документу: http://myserver/path1/mydoc.txt
%p = рабочий путь: /tmp/tmp.1234.mydoc.txt
% F = mydoc.txt
% f = tmp.1234.mydoc.txt
% D = http://myserver/path1
% d = / Tmp
Заметки когда через MS Windows
Windows использует двойные кавычки для экранирования метасимволов оболочки, поэтому, если вам нужно использовать
затем кавычки заключают в одинарные кавычки всю строку параметра.
FileFiler .mydoc mydocfilter.exe '--title "текст с пробелами"'
Вы можете указать программу фильтра, используя косую черту (стиль unix). Свист будет
преобразовать косые черты в обратную косую черту перед запуском вашей программы.
FileFilter .mydoc c:/some/path/mydocfilter.exe '-d "%d" -example -url "%P" "%f"'
Примеры фильтров:
FileFilter .doc / usr / local / bin / catdoc "-s8859-1 -d8859-1% p"
FileFilter .pdf pdftotext "%p -"
FileFilter .html.gz gzip "-c% p"
FileFilter .mydoc "/some/path/mydocfilter" "-d %d -example -url %P %f"
В приведенных выше примерах выполняется двоичный программа фильтра. Для более сложных
Если требуется фильтрация, вы можете использовать язык сценариев, например Perl, или сценарий оболочки.
Вот несколько примеров вызова сценария оболочки и perl:
ФайлФильтр .pdf pdf2html.sh
FileFilter .ps Ghostscript-filter.pl
Использование языка сценариев (или любого языка, требующего больших начальных затрат) может значительно
недавнее увеличение индексация время. Для небольших заданий индексирования это может не быть проблемой, но
для больших коллекций файлов, требующих обработки с помощью языка сценариев, вы
может быть лучше использовать метод доступа "-S prog", где скрипт будет только
компилируется один раз, а не для каждого документа.
Фильтры, наверное, написать проще, чем программу "-S prog". Что вы решите
использование зависит от ваших требований. Примеры сценариев фильтров можно найти в
фильтр-бункер каталог, а примеры программ "-S prog" можно найти в прог-бен
каталог.
FileFilterMatch * filter-prog * * filter-options * * regex * [* regex * ...]
Это похоже на "FileMatch", за исключением того, что используются регулярные выражения для сопоставления с
имя файла. * filter-prog * - это путь к программе. В отличие от FileFilter, здесь
используйте опцию «FilterDir». Также в отличие от «FileFilter» вы обязательно указать
*параметры фильтра*.
Примеры:
FileFilterMatch ./pdftotext "%p -" /\.pdf$/
Обратите внимание, что это также будет соответствовать файлу с именем ".pdf", поэтому вы можете использовать что-то, что
требуется имя файла, которое имеет больше, чем просто расширение. Например:
FileFilterMatch ./pdftotext "% p -" /.\ .pdf $ /
Чтобы указать более одного расширения:
FileFilterMatch ./check_title.pl "%p" /\.html$/ /\.htm$/
Или несколько способов сделать то же самое:
FileFilterMatch ./check_title.pl% p /\.(html⎪html)$/
FileFilterMatch ./check_title.pl% p /\.html?$/
И игнорировать регистр:
FileFilterMatch ./check_title.pl% p /\.html?$/i
Вы также можете поставить перед выражением «не», чтобы отменить регулярное выражение, которое
следить. Например, чтобы найти файлы без расширения:
FileFilterMatch ./convert "% p% P" не /\..+$/
Документ Инфо
$Id: SWISH-CONFIG.pod 1846 2006 10:20:20Z whmoseley $
.
Используйте SWISH-CONFIG онлайн с помощью сервисов onworks.net
