ENG/RUS   Главная :: RiSearch :: RiSearch Pro :: RiSearch PHP :: RiLax :: RuMor :: Forum

Введение :: Документация :: Купить :: License :: Системные требования

На главную

RiSearch Pro v.3.2 Manual

© С. Тарасов

Язык запросов

      Ключевые слова в поле ввода разделяются пробелом или запятой. Регистр не имеет значения.
      Режим поиска "AND" ("И") означает, что будут найдены только те данные, где встречается каждое из ключевых слов. При использовании режима "OR" ("ИЛИ") результатом поиска будут все файлы, где встречается хотя бы одно ключевое слово. В любом режиме знак "+" перед ключевым словом означает, что данное ключевое слово должно присутствовать в найденных файлах. Если вы хотите исключить какое-либо слово из поиска, поставьте перед ним знак "-". Например: "+толстой -алексей".
      По умолчанию скрипт ищет все документы, где встречается введенное вами слово. Если индекс был построен с опцией INDEXING_SCHEME => 2, вы можете добавить "*" к запросу. В этом случае будут найдены все слова, которые начинаются с введенной вами строки. Например, при запросе "город*" будут найдены слова "город", "городок", "городской".

      Слова запроса, помещенные в кавычки, считаются фразой и будут найдены только те документы, где эти слова находятся рядом (работает только при индексации с такими параметрами:  word_dist => 1, ).

Поиск подстрок

      Для поиска по части слова необходимо создать дополнительный индекс (индекс подстрок, см. раздел "Индексирование"). После чего в запросе можно использовать мета-символы ("?" и "*"). Символ "?" в слове означает один любой символ, а "*" - произвольное число (включая ноль) любых символов.

Нечеткий поиск

      Перед использованием нечеткого поиска (fuzzy search, поиск с ошибками) также необходимо построить дополнительный индекс подстрок. После чего достаточно добавить символ "#" к слову в запросе и скрипт найдет все слова, которые похожи на введенное слово. По умолчанию допускается только две ошибки (это можно настроить в конфигурационном файле). Кроме того необходимо чтобы как минимум одна подстрока длиной три символа была введена правильно.

Установка типа поиска

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

  • 0 - поиск по началу слова
    Данный метод работает только с INDEXING_SCHEME => 2 и может быть удален в следующих версиях. Лучше вместо него использовать "поиск подстрок".
  • 1 - точный поиск слова
  • 2 - поиск подстрок
  • 3 - поиск словоформ (только в русской версии с учетом морфологии)
  • 4 - нечеткий поиск

      Параметр def_search_type определяет тип поиска по умолчанию. Практически во всех случаях рекомендуется использовать по умолчанию точный поиск. Тип поиска может быть изменен с помощью переключателей в форме поиска, используя параметр запроса "dst". Например:

http://www.search.com/cgi-bin/search.pl?q=word&dst=2

      Тип поиска относится ко всему запросу, но возможно изменить тип поиска для отдельных слов запроса. Например, символ "!" в конце слова устанавливает точный поиск для данного слова (пример: 'слово!'), символ "#" в конце слова означает, что для данного слова будет использоваться нечеткий поиск (пример: 'слово#'), если слово содержит символы "*" или "?", будет использован поиск подстрок (пример: 'слов*').

Корректировка опечаток в запросе

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

Логический поиск

      Данная версия скрипта поддерживает поиск с операторами AND, OR, NOT и скобками. Логический поиск включается автоматически, если в запросе присутствуют перечисленные выше операторы (в верхнем регистре).

Оператор AND означает, что оба слова должны присутствовать в найденных файлах ("собака AND кошка").

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

Оператор NOT перед словом позволяет исключить из поиска те документы, в которых содержится это слово("собака NOT кошка").

      Использование скобок позволяет строить запросы произвольной сложности.

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

(собака AND кошка) NOT (рыба OR птица) - должны присутствовать оба первых слова, но не должно быть ни слова "рыба", ни слова "птица".

(собака AND кошка) NOT (рыба AND птица) - должны присутствовать оба первых слова, и не должны присутствовать "рыба" и "птица" одновременно, хотя могут быть каждое отдельно.

( (собака AND кошка) NOT (рыба OR птица) ) OR ( (рыба AND птица) NOT (собака OR кошка) ) - будут найдены документы, в которых присутствуют либо слова "собака" и "кошка", либо слова "рыба" и "птица". В отличие от первого примера, любые комбинации из трех или четырех слов запрещены.



http://risearch.org С.Тарасов, © 2000-2003