Релевантность

Упорядочивание документов

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

Расчёт релевантности

Релевантность каждого документа вычисляется как косинус угла между вектором весов этого документа и вектором весов, соответствующему поисковому запросу, умноженный на 100%. Число координат векторов весов равно произведению числа слов в запросе (с учётом всех словоформ и синонимов) на число секций, определённых в indexer.conf. Каждая координата вектора весов соответсвует слову из запроса в той или иной секции документа. И значение для этой координаты вычисляется на основе весов секций, заданных параметром wf (см. Разд. Изменение весов различных частей документов во время поиска) и на основании того, является ли данное слово именно указанным в запросе или его словоформой. Также еще одна координата соответсвует среднему расстоянию между найденными словами в данном документе. Для вектора запроса эта координата полагается равной 0.

Т.к. в файлах конфигурации поисковых фронтэндов (searchd.conf или search.htm) не предусмотрено указание секцией, используйте команду NumSections для указания числа используемых секций (по умолчанию оно равно 256). Впрочем, точное число секций не играет решающей роли в порядке сортировки документов, только в значении рейтинга релевантности.

Рейтинг популярности

Рейтинг популярности рассчитывается в два этапа. На первом этапе значение параметра Weight для каждого сервера делится на число ссылок со страниц этого сервера. Таким образом определяется вес одной ссылки с этого сервера. На втором этапе для каждой страницы находится ссума весов всех ссылок, указывающих на эту страницу. Эта сумма и является индексом популярности страницы.

По умолчанию значение параметра Weight для каждого сервера равно 1. Изменить это значение вы можете непосредственно в SQL-таблице server или при помощи команды Weight в файле конфигурации indexer.conf.

Если в indexer.conf указана опция PopRankSkipSameSite yes, то при расчёте рейтинга популярности учитываются ссылки только между различными сайтами.

Если в indexer.conf указана опция PopRankFeedBack yes, то перед расчётом рейтинга популярности страниц рассчитывается рейтинг сайтов. Для этого для каждого сайта находится сумма популярности всех его страниц, если она окажется меньше 1, то рейтинг сайта полагается равным 1, в противном случае он полагается равным найденной сумме.

Если в indexer.conf указана опция PopRankUseTracking yes, то перед расчётом рейтинга популярности страниц в качестве рейтинга сайтов будет использована сумма числа запросов уточнения поиска для каждого сайта (т.е. число запросов поиска только среди документов с этого сайта).

Если в search.htm (или searchd.conf) указана опция PopRankUseShowCnt yes, то для каждого выводимого пользователю результата поиска, имеющего значение релевантности выше, заданного командой PopRankShowCntRatio (по умолчанию используется значение 25.0), значение url.shows увеличивается на 1. Если в indexer.conf указана опция PopRankUseShowCnt yes, то при расчёте рейтинга популярности страниц, к полученному на предыдущих этапах значению рейтига каждой страницы будет прибавлено значение url.shows, умноженное на значение, заданное опцией PopRankShowCntWeight (по умолчанию используется значение 0.01).

Булевы запросы

При булевом поиске, состоящем из двух и более слов, необходимо вводить операторы (&, |, ~). Т.е. необходимо вводить "a & book" вместо "a book" (без кавычек).

Crosswords

Эта возможность позволяет связать слова между <a href="xxx"> и </a> с документов, на который указывает данная ссылка. Эта возможность не поддерживается для встроенной (built-in) базы данных. Для включения этой возможности, используйте команду CrossWord yes в indexer.conf и search.htm.