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

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

На главную

RiLax Manual

© С. Тарасов

Настройка

      Все конфигурационные параметры находятся в файле riconfig.pm. Назначение большинства параметров достаточно очевидно и не требует пояснений.

  1.  DB_NAME => 'filename',  - имя файла с базой данных.

  2.  record_separator => "\n",  - разделитель записей (в большинстве случаев символ новой строки).

  3.  field_separator => "::",  - разделитель полей в записи.

  4.  site_size => 2,  - данный параметр регулирует размер базы данных и скорость поиска.

  5.  compact_index => 1,  - индекс занимает меньший объем, но число записей ограничено 65535.

  6.  indexing_speed => 1,  - Данный параметр определяет скорость индексации: 0 - медленная индексация, но скрипту требуется меньше оперативной памяти; 1 - быстрая индексация, требуется больше памяти.

  7.  temp_db_size => 20000000,  - размер блока оперативной памяти для хранения промежуточного индекса. Большее значение ускоряет индексацию и позволяет построить более эффективный (менее фрагментированный) индекс.

  8.  numbers => '0-9',  - скрипт вырезает их файла все небуквенные символы и индексирует только то, что останется. Кроме символов латинского алфавита, скрипт оставляет символы национальных алфавитов (описаны ниже). В параметре $numbers Вы можете указать, какие еще символы должны индексироваться (например цифры, символ подчеркивания и т.д.)

  9.  INDEXING_SCHEME => 2,  - способ индексирования слов. При значении "1" индекс составляется на основе всего слова. Этот способ обеспечивает наиболее быстрый поиск, но будут найдены только слова точно соответствующие запросу. Может быть полезно для очень больших сайтов.

    При значении "2" индекс составляется по началу слова (используется первые 4 буквы). В этом случае скрипт найдет все слова, которые начинаются с указанной подстроки. Например, по запросу "город" будут найдены слова: "город", "городок", "городской", "городовой".

  10.  use_stop_words => "YES",  - список слов, которые не надо индексировать.

  11.  min_length => 3,  - минимальная длина слова.

  12.  max_length => 32,  - максимальная длина слова (более длинные слова будут обрезаны).

  13.  def_search_type => 1,  - ТИп поиска по умотчанию: 0 - поиск по подстроке (можно применять только вместе с INDEXING_SCHEME => 2); 1 - точный поиск.

  14.  def_search_mode => "AND",  - Режим поиска по умолчанию: "AND" или "OR".

  15. Файл riconfig.pm содержит несколько других параметров, которые документированы в самом файле.

Индексирование нелатинских символов

      Скрипт имеет некоторые средства для работы с языками, которые содержат символы, отличные от латинского алфавита. Для начале необходимо задать коды заглавных и строчных символов используемого алфавита, чтобы скрипт знал, как перекодировать слова в нижний регистр. Значения для русской кодировки windows-1251 приведены ниже (эти же настройки можно использовать для большинства европейских языков):

 CAP_LETTERS => '\xC0-\xDF\xA8',  - укажите коды заглавных букв Вашего языка (тех, которые отличаются от латинских).


 LOW_LETTERS => '\xE0-\xFF\xB8',  - укажите коды строчных букв Вашего языка (тех, которые отличаются от латинских).

      Часто на HTML страницах используются особые обозначения для национальных символов, такие как È или ÿ. Скрипт может автоматически заменить эти обозначения на соответствуюшие символы, для чего установите следующую переменную в конфинурационном файле (установлена по умолчанию):

 use_esc => "YES", 

      Если же вы используете юникод в виде &#NNNN; (где NNNN > 255), то вам потребуется вписать в конфиг правила соответствия между юникодовским номером символа и его номером в какой-либо однобайтовой кодировке:

 code2char => { 
  1040 => "А", 
  1041 => "Б", 
  1042 => "В", 
  1043 => "Г", 
 }, 

      Правила соответствия для некоторых языков можно найти в файле unicode.txt.

Кеширование результатов поиска

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

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

  1.  enable_cache => "YES",  - включить или выключить кеширование.

  2.  check_cache => "YES",  - использовать кеш для каждого запроса.

  3.  min_doc_found => 1000,  - использовать кеш если число найденных документов превышает данное число.

  4.  min_search_time => 0.2,  - использовать кеш если время поиска превышает указанное число секунд.

  5.  delete_cache => "YES",  - удалять старые файлы автоматически.

  6.  delete_cache_delay => 3600,  - удалять файлы старше NNN секунд.



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