АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

SWISH-FAQ - Онлайн в облаке

Запустите SWISH-FAQ в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда SWISH-FAQ, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


SWISH-FAQ - Swish-e FAQ. Ответы на общие вопросы

ОБЪЯВЛЕНИЕ


Список часто задаваемых вопросов и ответов на них. Пожалуйста, просмотрите этот документ, прежде чем спрашивать
вопросы в списке обсуждения Swish-e.

Общие Вопросы

Что is Свиш-э?

Swish-e - это Sреа Web Iопределение Sсистема для Hуманс - Eулучшено. С его помощью вы можете быстро и
легко индексировать каталоги файлов или удаленные веб-сайты и искать в сгенерированных индексах
слова и фразы.

Итак, is Свиш-э a по области применения двигатель?

Ну да. Вероятно, наиболее распространенное использование Swish-e - обеспечение поисковой системы для веб-сайтов.
места. Дистрибутив Swish-e включает сценарии CGI, которые можно использовать с ним для добавления
по области применения двигатель для вашего веб-сайта. Скрипты CGI можно найти в пример каталог
дистрибутив. Увидеть README файл для информации о скриптах.

Но Swish-e также можно использовать для индексации всех видов данных, таких как сообщения электронной почты, данные
хранятся в системе управления реляционной базой данных, XML-документах или таких документах, как
Документы Word и PDF - или любое сочетание этих источников одновременно. Поиски
может быть ограничено полями или МетаИмена в документе или ограничены областями в пределах
HTML-документ (например, тело, заголовок). Программы, отличные от приложений CGI, могут использовать Swish-e,
так же.

Должен I модернизация if я уже Бег a предыдущий версия of Свиш-э?

В версию было внесено большое количество исправлений ошибок, дополнений функций и исправлений логики.
2.2. Кроме того, значительно улучшена скорость индексирования (отчеты о времени индексирования
изменяется с четырех часов до 5 минут), а также основные части индексирования и поисковые парсеры.
были переписаны. Есть улучшенные параметры отладки, расширенные форматы вывода и многое другое.
метаданные документа (например, дата последнего изменения, сводка документа), варианты индексации из
внешние источники данных и более быстрое сканирование, и это лишь некоторые изменения. (См. ИЗМЕНЕНИЯ
файл для получения дополнительной информации.

Поскольку так много усилий было вложено в версию 2.2, поддержка предыдущих версий будет
вероятно будет ограничен.

Находятся там двоичный распределения доступен для Свиш-э on Платформа фу?

Фу? Что ж, да, есть несколько доступных бинарных дистрибутивов. Пожалуйста, посетите сайт Swish-e.
сайт для списка на http://swish-e.org/.

В общем, рекомендуется по возможности собирать Swish-e из исходников.

Do I необходимость в переиндексировать my сайте каждый время I модернизация в a new Свиш-э версия?

Иногда это может быть не обязательно, но поскольку вы действительно не знаете, что
в индексе изменилось, это хорошее правило переиндексировать.

какой домен преимущество of через домен libxml2 библиотека для разбор HTML?

Swish-e может быть связан с libxml2, библиотекой для работы с документами HTML и XML.
Swish-e может использовать libxml2 для анализа документов HTML и XML.

Парсер libxml2 - лучший парсер, чем встроенный HTML-парсер Swish-e. Он предлагает больше
функции, и он намного лучше справляется с извлечением текста с веб-страницы. В
кроме того, вы можете использовать параметр конфигурации "ParserWarningLevel", чтобы найти структурные
ошибки в ваших документах, которые могут (и будут с парсером HTML Swish-e) вызвать документы
будет неправильно проиндексирован.

Libxml2 не требуется, но настоятельно рекомендуется для анализа HTML-документов. Это
также рекомендуется для синтаксического анализа XML, поскольку он предлагает гораздо больше функций, чем внутренний Expat
xml.c парсер.

Внутренний анализатор HTML будет иметь ограниченную поддержку и содержит ряд ошибок. За
Например, объекты HTML не всегда могут быть правильно преобразованы, а свойства не имеют
объекты преобразованы. Внутренний синтаксический анализатор имеет тенденцию путаться при анализе недопустимого HTML
где парсер libxml2 не так часто путается. Структура лучше обнаруживается
с парсером libxml2.

Если вы используете модуль Perl (интерфейс C для библиотеки Swish-e), вы можете захотеть
создать две версии Swish-e: одну с библиотекой libxml2, скомпонованной в двоичном файле, и одну
без, и соберите модуль Perl с библиотекой без кода libxml2. Это
для экономии места в библиотеке. Надеюсь, когда-нибудь библиотека будет разделена на
индексирование и поиск кода (волонтеры приветствуются).

Есть ли Свиш-э включают a CGI интерфейс?

да. Вроде.

Включены два примера сценариев CGI, swish.cgi и search.cgi. Оба установлены в
$ префикс / lib / swish-e.

Оба требуют небольшой работы для настройки и использования. Swish.cgi - это, вероятно, то, что будет делать большинство людей
хотите использовать, так как он содержит больше функций. Search.cgi - для тех, кто хочет начать с
небольшой скрипт и настройте его под свои нужды.

Пример использования swish.cgi приведен на странице руководства INSTALL, а это файл swish.cgi.
документация. Как это часто бывает, пользоваться им будет проще, если вы сначала прочтете
документация.

Будьте осторожны с найденными в Интернете сценариями CGI для использования со Swish-e. Некоторые
не является безопасным.

Включенные примеры сценариев CGI были разработаны с учетом требований безопасности. Несмотря на это, ты
рекомендуется, чтобы ваш местный эксперт по Perl рассмотрел его (и все другие сценарии CGI, которые вы используете)
перед запуском в производство. Это просто хорошая политика, которой нужно следовать.

Как безопасный is Свиш-э?

Мы не знаем ни о каких проблемах безопасности при использовании Swish-e. Пристальное внимание было уделено
что касается общих проблем безопасности, таких как переполнение буфера при программировании Swish-e.

Наиболее вероятная проблема безопасности Swish-e - запуск через плохо написанный CGI.
интерфейс. Это не ограничивается сценариями CGI, написанными на Perl, так как это так же легко
напишите небезопасный сценарий CGI на C, Java, PHP или Python. Хороший источник информации -
включен в дистрибутив Perl. Введите "perldoc perlsec" в местном запросе, чтобы узнать больше.
Информация. Еще один документ, который необходимо прочитать, находится по адресу
"http://www.w3.org/Security/faq/wwwsf4.html".

Обратите внимание, что есть много бесплатно пока доступны небезопасные и плохо написанные сценарии CGI -
даже некоторые из них предназначены для использования со Swish-e. Пожалуйста, внимательно просмотрите любой используемый вами сценарий CGI.
Бесплатно - не такая уж и хорошая цена, когда вы взламываете свой сервер ...

Должен I пробег Свиш-э as домен суперпользователя (корень)?

Нет никогда.

Что файлов приносит Свиш-э написать?

Конечно, Swish записывает индексный файл. Это указывается в "IndexFile"
директивой конфигурации или переключателем командной строки "-f".

Индексный файл на самом деле представляет собой набор файлов, но все они начинаются с имени файла.
указывается в директиве «IndexFile» или в параметре командной строки «-f».

Например, файл, заканчивающийся на .prop содержит свойства документа.

При создании индексных файлов Swish-e добавляет расширение .temp к именам индексных файлов.
Когда индексирование завершено, Swish-e переименовывает .temp файлы в файлы индекса, указанные
"IndexFile" или "-f". Это сделано для того, чтобы существующие индексы оставались нетронутыми до тех пор, пока
завершает индексацию.

Swish-e также в некоторых случаях записывает временные файлы во время индексирования (например, "-s http", "-s
prog "с фильтрами), при слиянии и при использовании" -e "). Временные файлы создаются с
домен мкстемп(3) функция (с разрешением 0600 в unix-подобных операционных системах).

Временные файлы создаются в каталоге, указанном переменными среды.
«TMPDIR» и «TMP» именно в таком порядке. Если они не установлены, swish использует настройку
настройка конфигурации TmpDir. В противном случае временный файл будет расположен в папке
Текущий каталог.

Может I индекс PDF и МС Word документы?

Да, вы можете использовать ФИЛЬТР конвертировать документы при индексировании, или вы можете использовать программу
который «скармливает» Swish-e документы, которые уже были преобразованы. См. «Индексирование» ниже.

Может I индекс Документация on a Web сервер?

Да, Swish-e предоставляет два способа индексирования (пауков) документов на веб-сервере. Видеть
"Паучок" внизу.

Swish-e может извлекать документы из файловой системы или с удаленного веб-сервера. Оно может
также выполнить программу, которая возвращает ему документы. Эта программа может извлекать
документы из базы данных, фильтрация сжатых файлов документов, преобразование файлов PDF, извлечение
данные из почтовых архивов или удаленных веб-сайтов.

Может I осуществлять ключевые слова in my документы?

Да, Swish-e может ассоциировать слова с МетаИмена при индексировании, и вы можете ограничить
выполняет поиск по этим именам MetaNames во время поиска.

В свои файлы HTML вы можете помещать ключевые слова в теги HTML META или в блоки XML.

В исходных документах МЕТА-теги могут иметь два формата:



И в формате XML (также может использоваться в документах HTML при использовании libxml2):


Некоторый контент


Затем, чтобы сообщить Swish-e о существовании мета-имени в ваших документах, отредактируйте
строка в вашем файле конфигурации:

МетаИмена DC.subject мета1 мета2

Теперь при поиске вы можете ограничить некоторые или все условия поиска этим MetaName. Например,
искать документы, содержащие слово "яблоко", а также фрукты или приготовление пищи в
метатег DC.subject.

Что Он документ характеристики?

Свойство документа - это обычно данные, описывающие документ. Например,
свойства могут включать путь к документу, дату его последнего изменения, заголовок или
размер. Swish-e сохраняет свойства документа в индексном файле, и о них можно сообщать
обратно в результаты поиска.

Swish-e также использует свойства для сортировки. Вы можете отсортировать результаты по одному или нескольким
свойства в порядке возрастания или убывания.

Свойства также могут быть определены в ваших документах. Файлы HTML и XML могут указывать теги
(см. предыдущий вопрос) как свойства. В содержание из этих тегов могут быть возвращены
с результатами поиска. Эти определяемые пользователем свойства также могут использоваться для сортировки поиска.
результаты.

Например, если в ваших документах указано следующее:



а "создатель" определяется как свойство (см. "PropertyNames" в SWISH-CONFIG) Swish-e может
вернуть «бухгалтерию» с результатом по этому документу.

swish-e -w foo -p создатель

Или для сортировки:

swish-e -w foo -s создатель

какой домен разница между МетаИмена и Названия свойств?

MetaNames позволяет выполнять поиск по ключевым словам в ваших документах. То есть вы можете использовать MetaNames для
ограничьте поиск только частями ваших документов.

PropertyNames, с другой стороны, определяют текст, который может быть возвращен с результатами, и может
использоваться для сортировки.

Оба используют цель имеют теги найдены в ваших документах (как показано в двух вышеупомянутых вопросах), чтобы определить
текст, который вы хотите использовать как свойство или мета-имя.

Вы можете определить тег как изоферменты печени свойство и мета-имя. Например:



размещены в ваших документах, а затем с использованием параметров конфигурации:

Создатель PropertyNames
Создатель MetaNames

позволит ограничить поиск документами, созданными бухгалтерией:

swish-e -w 'foo and creator = (бухгалтерский учет)'

В результате будут найдены все документы со словом "foo", у которых также есть метатег создателя,
содержит слово «бухгалтерский учет». Это использует MetaNames.

А еще можно сказать:

swish-e -w foo -p создатель

который вернет все документы со словом "foo", но результаты также будут включать
содержимое метатега "создатель" вместе с результатами. Это использование свойств.

Вы также можете использовать свойства и мета-имена одновременно:

swish-e -w creator = (бухгалтерский учет или маркетинг) -p creator -s creator

Что ищет только в "создателе" цель имя для любого из слов «бухгалтерский учет» или
"маркетинг", распечатывает содержание "создателя" собственность, и сортирует
результаты "создателя" собственность имя.

(См. Также переключатель формата вывода "-x" в SWISH-RUN.)

Может Свиш-э индекс многобайтовой персонажи?

Нет. Для этого потребуется много работы. Но Swish-e работает с восьмибитными символами,
можно использовать так много наборов символов. Обратите внимание, что он вызывает ANSI-C снизить() функция
что зависит от текущей настройки локали. Видеть местный(7) для получения дополнительной информации.

Индексирование

Как do I pass Свиш-э a список of файлов в индекс?

В настоящее время нет директивы конфигурации для включения файла, содержащего список
файлов для индексации. Но есть директива о включении другого файла конфигурации.

IncludeConfigFile / путь / к / другому / config

А в "/ path / to / other / config" вы можете сказать:

IndexDir файл1 файл2 файл3 файл4 файл5 ...
IndexDir файл 20 файл 21 файл 22

Вы также можете указать более одного файла конфигурации в командной строке:

./swish-e -c config_one config_two config_three

Другой вариант - создать каталог с символическими ссылками на файлы для индексации и
индексировать только этот каталог.

Как приносит Свиш-э знают который синтаксический анализатор в использовать?

Swish может анализировать HTML, XML и текстовые документы. Парсер устанавливается путем привязки файла
расширение с помощью парсера директивой IndexContents. Вы можете установить парсер по умолчанию
с директивой DefaultContents. Если документу не назначен парсер, он будет
по умолчанию - парсер HTML (HTML2, если построен с libxml2).

Вы можете использовать фильтры или внешнюю программу для преобразования документов в HTML, XML или текст.

Может I переиндексировать и по области применения at домен то же время?

да. Начиная с версии 2.2 Swish-e индексирует временные файлы, а затем переименовывает
файлы после завершения индексации. В большинстве систем переименования являются атомарными. Но, поскольку Swish-e
также генерирует более одного файла во время индексации, будет очень короткий период
время между переименованием различных файлов, когда индекс не синхронизирован.

Настройки в src / config.h контролировать некоторые параметры, относящиеся к временным файлам, и их использование
во время индексации.

Может I индекс фразы?

Фразы индексируются автоматически. Для поиска фразы просто поместите двойные кавычки
вокруг фразы.

Например:

swish-e -w 'бесплатная и «быстрая поисковая машина»'

Как может I предотвращать фразы от согласование через предложения?

Используйте директиву конфигурации BumpPositionCounterCharacters.

Свиш-э Не индексация a определенный слово or предложение.

Существует ряд параметров конфигурации, которые определяют, что Swish-e считает
"word" и имеет функцию отладки, которая помогает выявить любые проблемы с индексацией.

Директивы файла конфигурации (SWISH-CONFIG) «WordCharacters», «BeginCharacters»,
«EndCharacters», «IgnoreFirstChar» и «IgnoreLastChar» являются основными параметрами, которые Swish-
е используется для определения «слова». Подробности см. В SWISH-CONFIG и SWISH-RUN.

Swish-e также использует значения по умолчанию времени компиляции для многих настроек. Они расположены в
src / config.h .

Использование аргументов командной строки «-k», «-v» и «-T» полезно при отладке этих
проблемы. Использование "-T INDEXED_WORDS" при индексировании отобразит каждое слово как есть
проиндексировано. Вы должны указать один файл при использовании этой функции, так как он может генерировать много
вывода.

./swish-e -c my.conf -i файл-проблемы -T ИНДЕКСЕД_СЛОВА

Вы также можете проиндексировать отдельный файл, содержащий слова, которые индексируются или не индексируются
как вы ожидаете, и используйте -T для вывода отладочной информации об индексе. Полезный
команда может быть:

./swish-e -f index.swish-e -T INDEX_FULL

Как только вы увидите, как Swish-e анализирует и индексирует ваши слова, вы можете настроить
упомянутые выше параметры конфигурации для управления индексируемыми словами.

Другой полезной командой может быть:

./swish-e -c my.conf -i файл-проблемы -T PARSED_WORDS INDEXED_WORDS

Это покажет слова через пробелы, проанализированные из документа (PARSED_WORDS), и то, как они
слова разбиваются на отдельные слова для индексации (INDEXED_WORDS).

Как do I держать Свиш-э от индексация числа?

Swish-e индексирует слова в соответствии с настройкой «WordCharacters», как описано выше. Так
чтобы избежать индексации чисел, просто удалите цифры из параметра «Символы слов».

Также есть некоторые настройки в src / config.h которые контролируют, какие «слова» индексируются. Ты
можно настроить swish так, чтобы никогда не индексировать слова, состоящие только из цифр, гласных или согласных, или
которые содержат несколько последовательных цифр, гласных или согласных букв. В
В общем, вам не нужно менять эти настройки.

Кроме того, есть экспериментальная функция IgnoreNumberChars, которая позволяет вам
определить набор символов, описывающих число. Если слово составлено из только те
символы не будут проиндексированы.

Свиш-э аварий и ожоги on a определенный . Что может I делать?

Этого не должно происходить. Если это так, пожалуйста, опубликуйте подробности в списке обсуждений Swish-e.
так что это может быть воспроизведено разработчиками.

Между тем, вы можете использовать директиву FileRules, чтобы исключить конкретное имя файла,
или путь, или его заголовок. Если есть серьезные проблемы с индексацией определенных типов
файлы, в них может не быть действительного текста (например, это могут быть двоичные файлы). Ты
можно использовать NoContents, чтобы исключить этот тип файла.

Swish-e выдаст предупреждение, если в документе будет обнаружен встроенный нулевой символ. Этот
предупреждение будет свидетельством того, что вы пытаетесь проиндексировать двоичные данные. Если вам нужно
индексные бинарные файлы пытаются найти программу, которая извлечет текст (например, струны(1)
Catdoc(1) pdftotext(1 г.)).

Как в I предотвращать индексация of некоторые документы?

При использовании файловой системы для индексации файлов вы можете использовать директиву FileRules.
За исключением "FileRules title", "FileRules" работает только с файловой системой ("-S fs")
метод индексации, а не с "-S prog" или "-S http".

Если вы просматриваете контролируемый вами сайт, используйте robots.txt файл в вашем документе
корень. Это стандартный способ исключения файлов из поисковых систем, полностью
при поддержке Swish-e. Видеть http://www.robotstxt.org/

Если вы просматриваете веб-сайт с включенным паук.pl затем добавьте необходимые тесты в
файл конфигурации паука. Тип в каталоге "prog-bin" для
подробности или см. документацию по пауку на сайте Swish-e. Ищите раздел о
функции обратного вызова.

Если вы используете библиотеку libxml2 для синтаксического анализа HTML (что вы, вероятно, используете), вы также можете использовать
Исключение Meta Robots в ваших документах:



См. Директиву obeyRobotsNoIndex.

Как do I предотвращать индексация части of a документ?

Чтобы Swish-e не индексировал общий верхний колонтитул, нижний колонтитул или панель навигации, И вы
используя libxml2 для синтаксического анализа HTML, тогда вы можете использовать поддельный HTML-тег вокруг текста, который хотите
игнорировать и использовать директиву IgnoreMetaTags. Это сгенерирует сообщение об ошибке, если
"ParserWarningLevel" установлен как недопустимый HTML.

«IgnoreMetaTags» работает с документами XML (и документами HTML при использовании libxml2 в качестве
parser), но не с документами, проанализированными парсером текста (TXT).

Если вы используете парсер libxml2 (HTML2 и XML2), вы можете использовать следующие
комментарии в ваших документах для предотвращения индексации:




и / или они также могут использоваться:




Как do I изменять домен путь or URL of домен индексированный документов.

Используйте директиву конфигурации «ReplaceRules», чтобы переписать имена путей и URL-адреса. Если ты
используя метод ввода "-S prog", вы можете указать путь к любой строке.

Как может I индекс данным от a база данных?

Используйте метод индексации исходного документа "прога". Напишите программу для извлечения
данные из вашей базы данных и отформатируйте их как XML, HTML или текст. См. Примеры в
Каталог "prog-bin" и следующий вопрос.

Как do I индекс my PDF, Слово, и сжатый документы?

Swish-e по умолчанию может анализировать только файлы HTML, XML и TXT (текстовые), но может
использование фильтры который преобразует другие типы файлов, такие как документы MS Word, PDF или
gzip файлы в один из типов файлов, понятных Swish-e.

См. SWISH-CONFIG и примеры в фильтры и фильтр-бункер каталог для получения дополнительной информации
Информация.

См. Следующий вопрос, чтобы узнать о параметрах фильтрации Swish-e.

Как do I фильтр документы?

Термин «фильтр» в Swish-e означает преобразование документа одного типа (такого, который
swish-e не может индексировать напрямую) в тип, который может индексировать Swish-e, а именно HTML, plain
текст или XML. Чтобы усугубить путаницу, есть несколько способов сделать это в
Swish-e. Итак, вот немного предыстории.

Директива FileFilter была добавлена ​​в swish первой. Эта функция позволяет указать
программа для запуска для документов, которые соответствуют заданному расширению файла. Например, чтобы отфильтровать
В файлах PDF (файлы с расширением .pdf) можно указать следующие параметры конфигурации:

FileFilter .pdf pdftotext "'% p' ​​-"

который говорит, чтобы запустить программу "pdftotext", передав ей путь к файлу (% p) и
тире (который сообщает pdftotext о выводе в стандартный вывод). Затем для каждого файла .pdf Swish-e запускает
эта программа и считывает отфильтрованный документ из выходных данных программы фильтрации.

Это имеет то преимущество, что его легко настроить - одна строка в файле конфигурации - это все
что необходимо для добавления фильтра в Swish-e. Но есть и ряд проблем. За
Например, если вы используете Perl-скрипт для фильтрации, это может быть очень медленным, поскольку
сценарий фильтрации должен запускаться (и, таким образом, компилироваться) для каждого обрабатываемого документа. Это
усугубляется при использовании метода -S http, поскольку метод -S http также использует скрипт Perl
который запускается для каждого полученного URL. Также при использовании метода ввода -S prog (чтение
ввод из программы) с использованием FileFilter означает, что Swish-e должен сначала прочитать файл из
внешнюю программу, а затем запишите файл во временный файл перед запуском
фильтр.

С -S prog имеет больше смысла фильтровать документ в программе, которая
выборка документов, чем swish-e для чтения файла в память, запись его в
временный файл, а затем запустите внешнюю программу.

В дистрибутиве Swish-e есть несколько примеров программ -S. паук.pl - это
достаточно полнофункциональный веб-паук, который предлагает гораздо больше возможностей, чем метод -S http.
И это намного быстрее, чем запуск -S http.

У паука есть файл конфигурации perl, что означает, что вы можете правильно добавить логику программирования.
в файл конфигурации, не редактируя программу-паук. Одна часть логики:
в файле конфигурации паука есть функция обратного вызова, которая позволяет вам
фильтровать контент. Другими словами, до того, как паук передаст полученный веб-документ в
swish для индексации паука может вызвать простую подпрограмму в конфигурации паука
файл, передающий документ и его тип содержимого. Затем подпрограмма может посмотреть на
тип содержимого и решите, нужно ли фильтровать документ.

Например, при обработке документа типа «application / msword» обратный вызов
подпрограмма может вызывать модуль perl doc2txt.pm и документ типа "appliation / pdf"
можно использовать модуль pdf2html.pm. В prog-bin / SwishSpiderConfig.pl файл показывает это
Применение.

Эта система работает достаточно хорошо, но также означает, что для настройки
фильтры. Во-первых, вы должны явно проверить наличие определенных типов контента, а затем вызвать
соответствующий модуль Perl, и, во-вторых, вы должны знать, как каждый модуль должен вызываться и
как каждый возвращает возможно измененное содержимое.

Входит SWISH :: Filter.

Чтобы упростить задачу, был создан модуль SWISH :: Filter Perl. Идея этого модуля
заключается в том, что для фильтрации всех типов документов используется один интерфейс. Так что вместо
проверяя определенные типы контента, вы просто передаете тип контента и документ в
модуль SWISH :: Filter, и он возвращает новый тип контента и документ, если он был
фильтрованный. Фильтры, которые выполняют фактическую работу, имеют стандартный интерфейс и
работают как фильтры "плагины". Добавление новых фильтров означает просто загрузку фильтра в
каталог, и никаких изменений в файле конфигурации паука не требуется. Скачать фильтр
для Postscript и в следующий раз, когда вы запустите индексацию, ваши файлы Postscript будут проиндексированы.

Поскольку фильтры стандартизированы, надеюсь, когда вам понадобится фильтровать документы
определенного типа уже будет готовый к использованию фильтр.

Теперь обратите внимание, что модули Perl могут или не могут выполнять фактическое преобразование документа.
Например, модуль преобразования PDF вызывает программы pdfinfo и pdftotext. Те
программы (часть пакета Xpfd) должны устанавливаться отдельно от фильтров.

В файле конфигурации Exle Spider SwishSpiderConfig.pl показано, как использовать
SWISH :: Фильтр-модуль для фильтрации. Этот файл установлен в
$ prefix / share / doc / swish-e / examples / prog-bin, где префикс $ обычно / USR / местные на unix-
типа машин.

Метод фильтрации SWISH :: Filter также может использоваться с методом -S http для
индексация. По умолчанию паук программа (вспомогательный сценарий Perl, который извлекает
документы из Интернета) будет пытаться использовать модуль SWISH :: Filter, если его можно найти в
Путь к библиотеке Perls. Этот путь устанавливается автоматически для spider.pl, но не для swishspider.
(потому что это замедлит уже медленный метод, поэтому рекомендуется использовать spider.pl вместо
метод -S http).

Следовательно, все, что требуется для использования этой системы с -S http, - это установка массива @INC
чтобы указать на каталог фильтра.

Например, если дистрибутив swish-e был распакован в ~ / swish-e:

PERL5LIB =~ / swish-e / фильтры swish-e -c conf -S http

позволит методу -S http использовать модуль SWISH :: Filter.

Обратите внимание: если вы не используете модуль SWISH :: Filter, возможно, вы захотите отредактировать
паук программу и отключите использование модуля SWISH :: Filter с помощью этой настройки:

использовать константу USE_FILTERS => 0; # отключить SWISH :: Filter

Это предотвращает попытки программы использовать модуль SWISH :: Filter для каждого не-
полученный текстовый URL. Конечно, если вас беспокоит скорость индексации, вам следует
использовать метод -S prog с spider.pl вместо -S http.

Если у вас нет паука, но вы все равно хотите использовать модуль SWISH :: Filter для
Для фильтрации можно использовать программу DirTree.pl (в $ prefix / lib / swish-e). Это простой
программа, которая просматривает файловую систему и использует SWISH :: Filter для фильтрации.

Вот два примера того, как запустить программу фильтрации, один с использованием Swish-e FileFilter.
директива, другая с использованием программы метода ввода "prog". Увидеть SwishSpiderConfig.pl файл
для примера использования модуля SWISH :: Filter.

Эти фильтры просто используют программу "/ bin / cat"как фильтр и индексирует только файлы .html.

Во-первых, используя метод FileFilter, вот полный файл конфигурации (swish.conf):

IndexDir.
Индексонли .html
FileFilter .html "/ bin / cat" "'%п'"

и проиндексируйте с помощью команды

swish-e -c swish.conf -v 1

Теперь то же самое с использованием метода ввода источника документа "-S prog" и Perl
программа называется catfilter.pl. Как видите, это гораздо больше работы, чем использование
Вышеупомянутый метод FileFilter, но предоставляет место для дополнительной обработки. В этом
Например, метод "прог" лишь немного быстрее. Но если вам нужен Perl-скрипт для
запускать как FileFilter тогда "прога" будет значительно шустрее.

#! / usr / local / bin / perl -w
использовать строго;
используйте File :: Find; # для рекурсивного просмотра дерева каталогов

$ / = undef;
найти(
{хотел => \ & хотел, no_chdir => 1,},
'.',
);

саб хотел {
вернуть, если -d;
вернуть, если не /\.html$/;

мое $ mtime = (stat) [9];

мой $ child = open (FH, '-');
die "Не удалось форк $!" если не определено $ child;
exec '/ bin / cat', $ _, если не $ child;

мой $ content = ;
мой $ size = length $ content;

печать <
Content-Length: $ size
Последний раз: $ mtime
Путь: $ _

EOF

Распечатать ;
}

И проиндексируйте командой:

swish-e -S prog -i ./catfilter.pl -v 1

Этот пример, вероятно, не будет работать под Windows из-за открытого "-". Простой трубопровод
open тоже может работать:

То есть заменить:

мой $ child = open (FH, '-');
die "Не удалось форк $!" если не определено $ child;
exec '/ bin / cat', $ _, если не $ child;

с этим:

открыть (FH, "/ bin / cat $ _ ⎪ ") или умри $ !;

Perl попытается избежать запуска команды через оболочку, если метасимволы не
прошел в открытую. См. "Perldoc -f open" для получения дополнительной информации.

Эх, но I всего хотеть в знают КАК в индекс PDF документы!

См. Примеры в конф каталог и комментарии в SwishSpiderConfig.pl .

Подробнее о фильтрации см. В предыдущем вопросе. Метод, который вы решите использовать, будет
зависит от того, насколько быстро вы хотите индексировать, и от вашего уровня комфорта при использовании модулей Perl.

Независимо от того, какой метод фильтрации вы используете, вам необходимо установить пакеты Xpdf.
можно получить http://www.foolabs.com/xpdf/.

я через Windows и не может получить Фильтры or домен прог вход метод в работать!

И метод ввода «-S prog», и фильтры используют системный вызов «popen ()» для запуска
внешняя программа. Если ваша внешняя программа, например, Perl-скрипт, вы должны
скажите Swish-e запустить perl вместо скрипта. Swish-e преобразует косую черту в
обратная косая черта при работе под Windows.

Например, вам нужно указать путь к perl как (предполагая, что это то место, где находится perl
в вашей системе):

IndexDir e: /perl/bin/perl.exe

Или запустите фильтр вроде:

FileFilter .foo e: /perl/bin/perl.exe 'myscript.pl "% p"'

Часто бывает проще просто установить Linux.

Как do I индекс не английский слова?

Swish-e индексирует только 8-битные символы. Это набор символов ISO 8859-1 Latin-1, и
включает много неанглийских букв (и символов). Пока они указаны в
«WordCharacters» они будут проиндексированы.

Фактически, вы, вероятно, можете проиндексировать любой 8-битный набор символов, если вы не смешиваете
наборы символов в том же индексе и не используйте libxml2 для синтаксического анализа (см. ниже).

Директива TranslateCharacters (SWISH-CONFIG) может переводить символы при индексировании
и поиск. Вы можете указать сопоставление одного символа с другим символом с помощью
Директива TranslateCharacters.

«TranslateCharacters: ascii7:» - это предопределенный набор символов, который будет переводить
восьмибитные символы в символы ascii7. Например, при использовании правила ": ascii7:"
переведите «Ääç» в «aac». Это означает: поиск «elik», «çelik» или «celik» приведет к
совпадать с тем же словом.

Примечание: при использовании libxml2 для синтаксического анализа проанализированные документы преобразуются внутренне (в пределах
libxml2) в UTF-8. При индексировании он преобразуется в ISO 8859-1 Latin-1. В случаях, когда
строка не может быть преобразована из UTF-8 в ISO 8859-1 (потому что она не содержит 8859-1
символов), строка будет отправлена ​​в Swish-e в кодировке UTF-8. Это приведет к
некоторые слова проиндексированы неправильно. Установка "ParserWarningLevel" на 1 или более будет отображаться
предупреждения при сбое преобразования UTF-8 в 8859-1.

Может I добавить / удалить файлов от an индекс?

Попробуйте создать swish-e с параметром «--enable-incremental».

Остальная часть этого FAQ относится к формату swish-e по умолчанию.

Swish-e в настоящее время не имеет возможности добавлять или удалять элементы из своего индекса. Но индексы Swish-e
настолько быстро, что часто возможно переиндексировать весь набор документов, когда файл требует
быть добавленным, измененным или удаленным. Если вы просматриваете удаленный сайт, подумайте
кэширование документов, сжатых локально.

В зависимости от ситуации с дополнительными добавлениями можно обращаться несколькими способами.
Вероятно, проще всего создать один главный индекс каждую ночь (или каждую неделю), а затем
создать индекс только новых файлов между основными заданиями индексирования и использовать параметр "-f"
для передачи обоих индексов в Swish-e при поиске.

Вы можете объединить индексы в один индекс (вместо использования -f), но неясно, что
это имеет какое-либо преимущество перед поиском по нескольким индексам.

Как создать инкрементный индекс?

Один из способов - использовать переключатель «-N» для передачи пути к файлу в Swish-e при индексировании. Это
будет индексировать только файлы, дата последнего изменения которых «новее», чем предоставленный файл
с переключателем "-N".

Этот вариант имеет тот недостаток, что Swish-e должен обрабатывать каждый файл в каждом каталоге.
как если бы они собирались проиндексировать (тест на "-N" выполняется последним, прямо перед индексированием
содержимого файла и после завершения всех остальных тестов файла) -
все это просто для того, чтобы найти несколько новых файлов.

Кроме того, если вы используете индексный файл Swish-e в качестве файла, переданного в "-N", могут быть файлы, которые
были добавлены после начала индексации, но до записи индексного файла. Это могло, это может
приведет к тому, что файл не будет добавлен в индекс.

Другой вариант - поддерживать параллельное дерево каталогов, содержащее символические ссылки, указывающие на
основные файлы. Когда новый файл добавляется (или изменяется) в главное дерево каталогов, вы
создать символическую ссылку на реальный файл в параллельном дереве каталогов. Затем просто проиндексируйте
каталог символической ссылки для создания инкрементного индекса.

Этот вариант имеет тот недостаток, что вам нужна центральная программа, которая создает
новые файлы, которые также могут создавать символические ссылки. Но индексация выполняется довольно быстро, поскольку Swish-e
Достаточно только посмотреть на файлы, которые нужно проиндексировать. Когда вы запускаете полную индексацию, вы
просто отключите (удалите) все символические ссылки.

У обоих этих методов есть проблемы, из-за которых файлы могли оказаться в обоих индексах или файлы были
оставлено вне индекса. Использование блокировок файлов при индексировании и поиск хэшей во время поиска
может помочь предотвратить эти проблемы.

I пробег внешний of Память пытается в индекс my файлы.

Это правда, что индексация может занимать много памяти! Swish-e очень быстро
индексация, но это происходит за счет памяти.

Лучший ответ - установить больше памяти.

Другой вариант - использовать переключатель «-e». Это потребует меньше памяти, но индексация
займет больше времени, так как не все данные будут храниться в памяти при индексировании. Насколько меньше памяти
и сколько еще времени зависит от документов, которые вы индексируете, и оборудования, которое
ты используешь.

Вот пример индексации всех файлов .html в / usr / doc в Linux. Этот первый пример
без "-e" и использовало около 84 МБ памяти:

Проиндексировано 270279 уникальных слов.
Проиндексировано 23841 файл. Всего байт 177640166.
Истекшее время: 00:04:45 Процессорное время: 00:03:19

Это "-e" и использовал около 26M памяти:

Проиндексировано 270279 уникальных слов.
Проиндексировано 23841 файл. Всего байт 177640166.
Истекшее время: 00:06:43 Процессорное время: 00:04:12

Вы также можете создать несколько индексов меньшего размера, а затем объединить их с помощью «-M». С использованием
"-e" при слиянии сэкономит память.

Наконец, если вы создаете несколько индексов меньшего размера, вы можете указать более одного индекса.
при поиске с помощью переключателя "-f". Сортировка больших наборов результатов по свойству будет
медленнее при указании нескольких файлов индекса во время поиска.

"слишком многих открытый файлы " когда индексация -e вариант

Некоторые платформы сообщают о «слишком большом количестве открытых файлов» при использовании опции -e economy. -E
функция использует много временных файлов (что-то вроде 377) плюс индексные файлы, и это может
превышайте лимиты вашей системы.

В зависимости от вашей платформы вам может потребоваться установить «ulimit» или «unlimit».

Например, в оболочке Linux bash:

$ улимит -n 1024

Или под старым Sparc

% неограниченные открытые файлы

My система Администратор говорит Свиш-э использования слишком много of домен ПРОЦЕССОР!

Это хорошая вещь! Предполагается, что этот дорогой процессор занят.

Индексирование требует много работы - чтобы сделать индексацию быстрой, большая часть работы выполняется в памяти.
что сокращает время ожидания Swish-e ввода-вывода. Но есть две вещи, которые вы
можешь попытаться:

Параметр «-e» запускает Swish-e в экономичном режиме, который использует диск для хранения данных, пока
индексация. Это заставляет Swish-e работать несколько медленнее, но при этом использует меньше памяти. Поскольку это
запись на диск будет происходить чаще, он будет тратить больше времени на ожидание ввода-вывода и меньше времени на
ПРОЦЕССОР. Может быть.

Другой вариант - просто понизить приоритет задания с помощью хороший(1) команда:

/ bin / nice -15 swish-e -c search.conf

Если вас беспокоит время поиска, убедитесь, что вы используете переключатели -b и -m только для
возвращать страницу за раз. Если вы знаете, что ваши наборы результатов будут большими, и что вы
хотите возвращать результаты по одной странице за раз, и это часто бывает много страниц одного и того же
запрос будет запрошен, вы можете быть умным, чтобы запросить все документы на первом
запрос, а затем кэшировать результаты во временный файл. Модуль Perl File :: Cache
делает это очень простым.

Пауки

Как может I индекс Документация on a Web сервер?

Если возможно, используйте метод индексирования файловой системы "-S fs" для индексации документов в вашем Интернете.
область файловой системы. Это позволяет избежать накладных расходов, связанных с поиском веб-сервера, и значительно упрощает работу.
Быстрее. ("-S fs" - метод по умолчанию, если "-S" не указан).

Если это невозможно (веб-сервер не локальный или документы динамически
сгенерировано), Swish-e предоставляет два метода передачи файлов. Во-первых, он включает метод http
индексации "-S http". Доступен ряд специальных директив конфигурации, которые
управлять spidering (см. «Директивы только для метода доступа HTTP» в SWISH-CONFIG). А
вспомогательный сценарий perl (swishspider) включен в SRC каталог, чтобы помочь с пауками
веб-серверы. Есть примеры конфигураций для пауков в конф каталог.

Начиная с Swish-e 2.2, существует универсальный "программный" источник документов, в котором программа может
подавать в него документы для индексации. Ряд программ-примеров можно найти в
Каталог "prog-bin", включая программу для серверов паутины. Предоставленный spider.pl
программа полнофункциональна и легко настраивается.

Преимущество функции источника документа "prog" перед методом "http" состоит в том, что
программа выполняется только один раз, в то время как программа swishspider.pl используется в "http"
выполняется один раз для каждого документа, прочитанного с веб-сервера. Разветвление
Swish-e и компиляция Perl-скрипта могут быть довольно затратными по времени.

Другое преимущество программы "spider.pl" состоит в том, что ее просто и эффективно добавлять
фильтрация (например, для документов PDF или MS Word) прямо в конфигурацию spider.pl и
он включает в себя такие функции, как проверки MD5 для предотвращения дублирования индексации, параметры, позволяющие избежать
сканирование некоторых файлов или индексирование, но избегайте использования пауков. А поскольку это программа на Perl,
нет ограничений на функции, которые вы можете добавить.

почему приносит рассекать отчету "./swishspider: не нашел"?

Файл паук существуют, где отображается сообщение об ошибке? Если нет, либо установите
параметр конфигурации SpiderDirectory, чтобы указать на каталог, в котором паук
программа найдена, или поместите паук программа в текущем каталоге при запуске
свист-э.

Если вы работаете в Windows, убедитесь, что на вашем пути есть «perl». Попробуйте набрать Perl от
командной строки.

Если вы не запускаете Windows, убедитесь, что строка shebang (первая строка
Программа swishspider, начинающаяся с символа #!) указывает на правильное расположение perl.
Обычно это будет / usr / bin / perl or / USR / местные / бен / perl. Также убедитесь, что вы
иметь права на выполнение и чтение на паук.

Ассоциация паук Сценарий perl используется только с методом индексации -S http.

я через домен паук.pl программа в паук my Web сайта, но некоторые большой файлов Он не
проиндексировано.

Программа "spider.pl" по умолчанию имеет ограничение на размер файла 5 МБ. Это можно изменить с помощью
установка параметра "max_size". См. "Perldoc spider.pl" для получения дополнительной информации.

I все еще не think Найти my Web страниц Он не являетесь проиндексировано.

Ассоциация паук.pl программа имеет несколько переключателей отладки и может быть довольно многословной в
рассказывая вам, что происходит и почему. См. Инструкции в "perldoc spider.pl".

рассекать is не паукообразный Javascript ссылки!

Swish не может переходить по ссылкам, созданным Javascript, поскольку они создаются браузером.
и не являются частью документа.

Как do I паук другие веб-сайты и объединять it my собственный (файловая система) индекс?

Вы можете либо объединить «-M» два индекса в один индекс, либо использовать «-f», чтобы указать больше
чем один индекс при поиске.

У вас будут лучшие результаты с методом "-f".

Поиск

Как do I предел поиск в всего части of домен индекс?

Если вы можете идентифицировать «части» вашего индекса по имени пути, у вас есть два варианта.

Первый вариант - это индексировать путь к документу. Добавьте это в свою конфигурацию:

МетаИмена

Теперь вы можете искать слова или фразы в имени пути:

swish-e -w 'foo И swishdocpath = (продажи)'

Таким образом, будут найдены только документы со словом "foo" и где путь к файлу содержит
"продажи". Однако это может работать не так хорошо, как вам хотелось бы, поскольку оба этих пути будут
игра:

/веб/продажи/продукты/index.html
/web/accounting/private/sales_we_messed_up.html

Это можно решить, выполнив поиск по фразе (при условии, что "/" не является символом WordCharacter):

swish-e -w 'foo И swishdocpath = ("/ web / sales /")'
swish-e -w 'foo И swishdocpath = ("Интернет-продажи")' (то же самое)

Второй вариант немного мощнее. С помощью директивы "ExtractPath" вы можете использовать
регулярное выражение для извлечения подмножества пути и сохранения его как отдельного мета
Название:

Отдел MetaNames
Регулярное выражение отдела ExtractPath! ^ / Web /([^/ ]+).+$!$ 1 /

Это говорит о том, что сопоставьте путь, который начинается с "/ web /", и извлеките все, что после этого, вверх
до, но не включая следующий "/", и сохраните его в переменной $ 1, а затем сопоставьте все
от "/" и далее. Затем замените всю строку совпадений на $ 1. И это получает
индексируется как мета-имя "отдел".

Теперь вы можете искать:

swish-e -w 'foo И отдел = продажи'

и убедитесь, что вы сопоставляете только документы в пути / www / sales / *. Обратите внимание, что
вы можете сопоставить совершенно разные области вашей файловой системы с одним и тем же метанимем:

# пометить страницы, посвященные маркетингу
Регулярное выражение отдела ExtractPath! ^ / Web / (маркетинг⎪продажи)/.+ $! маркетинг /
Регулярное выражение отдела ExtractPath! ^ / Internal / marketing /.+$! Marketing /

# пометить страницы технических отделов
Регулярное выражение отдела ExtractPath! ^ / Web / (технические ошибки)/.+ $! tech /

Наконец, если у вас есть что-то более сложное, используйте "-S prog" и напишите программу на Perl или
используйте фильтр для установки метатега при обработке каждого файла.

Как is ранжирование рассчитано?

Значение свойства swishrank рассчитывается на основе схемы (или алгоритма) ранжирования.
вы выбрали. В этом обсуждении в любое время слово причудливый используется, вам следует проконсультироваться
фактический код для получения более подробной информации. В конце концов, это открытый исходный код.

Что вы можете сделать, чтобы повлиять на рейтинг:

МетаИменаРанг
Вы можете настроить свой индекс так, чтобы одни значения метанименов смещались в большей или меньшей степени, чем другие.
См. Параметр конфигурации «MetaNamesRank» в SWISH-CONFIG.

ИгнорироватьTotalWordCountWhenRanking
Установите значение 1 (по умолчанию) или 0 в вашем файле конфигурации. См. SWISH-CONFIG. ПРИМЕЧАНИЕ: Вы должны установить
это значение равно 0, чтобы использовать схему ранжирования IDF.

Структура
Позиции каждого термина в каждом HTML-документе присваивается структурное значение на основе
контекст, в котором появляется слово. Значение структуры используется для искусственного надувания
частота каждого термина в этом конкретном документе. Эти структурные ценности
определяется в config.h:

#определить RANK_TITLE 7
#define RANK_HEADER 5
# определить RANK_META 3
#define RANK_COMMENTS 1
#define RANK_EMPHASIZED 0

Например, если слово «foo» появляется в заголовке документа, Схема будет
обрабатывать этот документ так, как если бы "foo" появлялось еще 7 раз.

Все схемы имеют следующие характеристики:

И поиск
Значение ранга усредняется для всех терминов AND. Термины в круглых скобках ()
усредняются как один член (это признанная слабость и находится на TODO
список).

ИЛИ поиск
Значение ранга суммируется, а затем удваивается для каждой пары терминов ИЛИ. Это приводит к
более высокие ранги для документов, содержащих несколько терминов ИЛИ.

шкала ранга
После расчета необработанного рейтинга документа рассчитывается окончательный рейтинг.
используя причудливую функцию "log ()". Затем все документы сравниваются с базовой оценкой.
из 1000. Следовательно, документ с наивысшим рейтингом всегда будет иметь значение swishrank, равное
1000.

Вот краткий обзор того, как работают разные схемы. Число в скобках
после имени следует значение для вызова этой схемы с помощью «swish-e -R» или «RankScheme ()».

По умолчанию (0)
Схема ранжирования по умолчанию учитывает, сколько раз термин встречается в документе.
(частота), MetaNamesRank и значение структуры. Ранг можно суммировать
как:

DocRank = сумма (структура + метабиазы)

Рассмотрим этот вывод с переменной DEBUG_RANK, установленной во время компиляции:

Схема рейтинга: 0
Запись слова 0 в позиции 6 имеет структуру 7
Запись слова 1 в позиции 64 имеет структуру 41
Запись слова 2 в позиции 71 имеет структуру 9
Запись слова 3 в позиции 132 имеет структуру 9
Запись слова 4 в позиции 154 имеет структуру 9
Запись слова 5 в позиции 423 имеет структуру 73
Запись слова 6 в позиции 541 имеет структуру 73
Запись слова 7 в позиции 662 имеет структуру 73
Номер файла: 1104. Необработанный рейтинг: 21. Частота: 8 Масштабированный рейтинг: 30445
Подсчет структуры:
struct 0x7 = количество 1 (ЗАГОЛОВОК ФАЙЛА) x ранговая карта 8 = 8

struct 0x9 = количество 3 (ФАЙЛ ТЕЛА) x ранговая карта 1 = 3

struct 0x29 = количество 1 (ФАЙЛ ЗАГОЛОВКИ) x карта рангов 6 = 6

struct 0x49 = количество 3 (EM BODY FILE) x ранговая карта 1 = 3

Каждый экземпляр слова начинается с базовой оценки 1. Затем для каждого экземпляра вашего
слово, текущая сумма берется из структурного значения этой позиции слова плюс любые
предвзятость, которую вы настроили. В приведенном выше примере исходный рейтинг равен «1 + 8 + 3 + 6 + 3 =
21».

Рассмотрим эту строку:

struct 0x7 = количество 1 (ЗАГОЛОВОК ФАЙЛА) x ранговая карта 8 = 8

Это означает, что в заголовке файла было одно вхождение нашего слова. Это контекст
был в набор тегов внутри . <title> - самый конкретный
структура, поэтому она получает оценку RANK_TITLE: 7. Базовый ранг 1 плюс структура
оценка 7 равна 8. Если в названии было два случая этого слова, то
оценка была бы «8 + 8 = 16».

ЦАХАЛ (1)
IDF - это сокращение от Inverse Document Frequency. Это необычный жаргон для ранжирования
учитывать общую частоту термина по всему индексу, помимо
частота термина в одном документе. Рейтинг IDF также использует относительную плотность
слово в документе, чтобы судить о его релевантности. Слова, которые чаще встречаются в документах, делают
рейтинг этого документа выше, и более длинные документы не имеют большего веса, чем более короткие.

Схему IDF можно резюмировать следующим образом:

DocRank = Сумма (плотность * idf * (структура + метабиазы))

Рассмотрим этот вывод DEBUG_RANK:

Схема рейтинга: 1
Номер файла: 1104 Оценка слов: 1 Частота: 8 Всего файлов: 1451
Общее количество слов: 108 IDF: 2564
Всего слов: 1145877 Проиндексированных слов в этом документе: 562
Средние слова: 789 Плотность: 1120 Вес слов: 28716
Запись слова 0 в позиции 6 имеет структуру 7
Запись слова 1 в позиции 64 имеет структуру 41
Запись слова 2 в позиции 71 имеет структуру 9
Запись слова 3 в позиции 132 имеет структуру 9
Запись слова 4 в позиции 154 имеет структуру 9
Запись слова 5 в позиции 423 имеет структуру 73
Запись слова 6 в позиции 541 имеет структуру 73
Запись слова 7 в позиции 662 имеет структуру 73
Ранг после взвешивания IDF: 574321
масштабированный рейтинг: 132609
Подсчет структуры:
struct 0x7 = количество 1 (ЗАГОЛОВОК ФАЙЛА) x ранговая карта 8 = 8

struct 0x9 = количество 3 (ФАЙЛ ТЕЛА) x ранговая карта 1 = 3

struct 0x29 = количество 1 (ФАЙЛ ЗАГОЛОВКИ) x карта рангов 6 = 6

struct 0x49 = количество 3 (EM BODY FILE) x ранговая карта 1 = 3

Это похоже на схему по умолчанию, но обратите внимание на то, как общее количество файлов в
индекс и общая частота слов (в отличие от частоты документа) оба
часть уравнения.

Рейтинг - сложная тема. SWISH-E позволяет разрабатывать больше схем ранжирования
и экспериментировал, используя параметр -R (из команды swish-e) и RankScheme
(см. документацию по API). Поэкспериментируйте и поделитесь своими выводами через список для обсуждения.

Как может I предел поиск в домен заглавие, тела, or комментарий?

Используйте переключатель "-t".

I не может предел поиск в заголовок / текст / комментарий.

Или, I не может по области применения цель имена, Найти домен имена Он индексированный as "равнина".

Проверьте в файле config.h, установлено ли для #define INDEXTAGS значение 1. Если это так, измените его на 0,
перекомпилируйте и снова проиндексируйте. Когда INDEXTAGS равен 1, ВСЕ теги индексируются как простой текст,
то есть вы индексируете "title", "h1" и так далее, И они теряют свое значение индексации. Если
INDEXTAGS установлен в 0, вы все равно будете индексировать метатеги и комментарии, если у вас нет
указано иное в файле конфигурации пользователя с помощью директивы IndexComments.

Также проверьте параметр «UndefinedMetaTags» в вашем файле конфигурации.

У меня пыталась Бег домен включены CGI скрипт и I получить a "Внутренний сервер Ошибка"

Отладка сценариев CGI выходит за рамки этого документа. Внутренняя Ошибка Сервера
в основном означает "проверить журнал веб-сервера на наличие сообщения об ошибке", так как это может означать плохой
строка shebang (#!), отсутствующий модуль perl, ошибка передачи FTP или просто ошибка в
программа. Сценарий CGI swish.cgi в пример каталог содержит некоторые отладки
предложения. Для получения информации введите perldoc swish.cgi.

В Интернете также можно найти множество часто задаваемых вопросов о CGI. Быстрый поиск в Интернете должен
предлагать помощь. В крайнем случае вы можете попросить помощи у своего веб-администратора ...

После появления I стараться в view домен swish.cgi страница I посмотреть домен содержание of домен Perl программу.

Ваш веб-сервер не настроен для запуска программы как сценария CGI. Эта проблема
описан в "perldoc swish.cgi".

Как do I сделать Свиш-э выделить слова in по области применения Результаты?

Короткий ответ:

Используйте прилагаемые скрипты swish.cgi или search.cgi, расположенные в пример каталог.

Длинный ответ:

Swish-e не может, потому что у него нет доступа к исходным документам при возврате
результаты, конечно. Но пользовательская программа, созданная вами, может выделять термины. Ваш
программа может открывать исходные документы и затем использовать регулярные выражения для замены
поисковые запросы с выделенными или выделенными жирным шрифтом словами.

Но этого не произойдет со всеми, кроме самых простых исходных документов. Для HTML-документов
например, вы должны разобрать документ на слова и теги (и комментарии). Слово тебе
Вы хотите выделить, может охватывать несколько HTML-тегов или быть словом в URL-адресе, и вы хотите
выделите весь текст ссылки.

Модули Perl, такие как HTML :: Parser и XML :: Parser, делают возможным извлечение слов. Следующий,
необходимо учитывать, что Swish-e использует такие настройки, как WordCharacters, BeginCharacters,
EndCharacters, IgnoreFirstChar и IgnoreLast, char для определения «слова». Это ты
не могу считать, что строка символов с пробелами с каждой стороны является словом.

Тогда такие вещи, как TranslateCharacters и HTML Entities, могут преобразовывать исходное слово в
что-то еще, что касается Swish-e. Наконец, поиск можно ограничить
metanames, поэтому вам может потребоваться ограничить выделение только частями источника
документ. Добавьте в уравнение поисковые фразы и игнорируемые слова, и вы увидите, что это
нетривиальная проблема для решения.

«Не всякая надежда потеряна, - подумал он, - ведь Swish-e действительно помогает. Использование опции "-H"
он вернет в заголовках текущие настройки индекса (или индексов) для WordCharacters
(и другие), необходимые для синтаксического анализа ваших исходных документов, когда он анализирует их во время индексирования,
и вернет заголовок "Parsed Words:", который покажет, как он проанализировал запрос.
внутренне. Если вы используете нечеткую индексацию (определение корней слова, звуковой индекс или метафон), то вы
также необходимо будет выделить каждое слово в вашем документе, прежде чем сравнивать его со словом «проанализировано
Слова: "возвращено Swish-e.

Код стемминга Swish-e доступен либо с использованием модуля Swish-e Perl.
(SWISH :: API) или библиотеку C (включенную в дистрибутив swish-e), или с помощью
SWISH :: Модуль Stemmer доступен на CPAN. Также на CPAN есть модуль
Текст :: ДаблМетафон. Использование SWISH :: API, вероятно, обеспечивает лучшую поддержку стемминга.

Do фильтры эффект домен производительность в течение поиск?

Нет. Фильтры (FileFilter или через метод "prog") используются только для построения поискового индекса.
база данных. Во время поисковых запросов не будет вызовов фильтров.

I иметь читать домен FAQ но I все еще иметь вопросов в отношении через Свиш-э.

Список обсуждений Swish-e - это то, что вам нужно. http://swish-e.org/. Пожалуйста, не пишите
напрямую разработчикам. Список - лучшее место, чтобы задавать вопросы.

Перед тем, как опубликовать, пожалуйста, прочтите ВОПРОСОВ И УСТРАНЕНИЕ находится на странице УСТАНОВКА.
Вам также следует поискать в архиве списка обсуждений Swish-e, который можно найти на
swish-e веб-сайт.

Короче говоря, обращаясь за помощью, обязательно укажите следующее.

* Версия swish-e (./swish-e -V)
* Что вы индексируете (и, возможно, образец), и количество файлов
* Ваш файл конфигурации Swish-e
* Любые сообщения об ошибках, о которых сообщает Swish-e.

Документ Инфо


$ Id: SWISH-FAQ.pod 2147 2008-07-21 02: 48: 55Z karpet $

.

Используйте SWISH-FAQ онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    глубокая очистка
    глубокая очистка
    Скрипт Kotlin, уничтожающий все сборки
    кеши из проектов Gradle/Android.
    Полезно, когда Gradle или IDE позволяют
    вниз. Скрипт протестирован на
    макОС, но...
    Скачать глубокую очистку
  • 2
    Подключаемый модуль Eclipse Checkstyle
    Подключаемый модуль Eclipse Checkstyle
    Плагин Eclipse Checkstyle
    интегрирует Java-код Checkstyle
    аудитор в Eclipse IDE. В
    плагин предоставляет обратную связь в режиме реального времени
    пользователь о нарушении ...
    Скачать подключаемый модуль Eclipse Checkstyle
  • 3
    АстрОрзПлеер
    АстрОрзПлеер
    AstrOrz Player — бесплатный медиаплеер.
    программное обеспечение, частично основанное на WMP и VLC.
    плеер выполнен в минималистическом стиле, с
    более десяти цветов темы, а также может
    б ...
    Скачать AstrOrzPlayer
  • 4
    Movistartv
    Movistartv
    Kodi Movistar+ TV является дополнением для XBMC/
    Коди, разрешенный к использованию
    decodificador de los servicios IPTV де
    Movistar интегрирован в один город
    медиацентры ма...
    Скачать киностартв
  • 5
    Code :: Blocks
    Code :: Blocks
    Code::Blocks — это бесплатная программа с открытым исходным кодом,
    кроссплатформенная C, C++ и Fortran IDE
    построен для удовлетворения самых взыскательных потребностей
    своих пользователей. Он разработан, чтобы быть очень
    расширенный ...
    Код загрузки::Блоки
  • 6
    среди
    среди
    Среда или расширенный интерфейс Minecraft
    и отслеживание данных / структуры - это инструмент для
    отобразить обзор Minecraft
    мир, фактически не создавая его. Это
    жестяная банка ...
    Скачать Среди
  • Больше »

Команды Linux

Ad