При сортировке документов перед выдачей результата поиска DataparkSearch по умолчанию учитывает два параметра каждого документа: релевантность и популярность. Сначала документы сортируются по релевантности, а при равенстве, по популярности.
Релевантность каждого документа вычисляется как косинус угла между вектором весов этого документа и вектором весов, соответствующему поисковому запросу, умноженный на 100%. Число координат векторов весов равно произведению числа слов в запросе (с учётом всех словоформ и синонимов) на число секций, определённых в indexer.conf. Каждая координата вектора весов соответсвует слову из запроса в той или иной секции документа. И значение для этой координаты вычисляется на основе весов секций, заданных параметром wf (см. Разд. Изменение весов различных частей документов во время поиска) и на основании того, является ли данное слово именно указанным в запросе или его словоформой. Также еще одна координата соответсвует среднему расстоянию между найденными словами в данном документе. Для вектора запроса эта координата полагается равной 0.
Т.к. в файлах конфигурации поисковых фронтэндов (searchd.conf или search.htm) не предусмотрено указание секцией, используйте команду NumSections для указания числа используемых секций (по умолчанию оно равно 256). Впрочем, точное число секций не играет решающей роли в порядке сортировки документов, только в значении рейтинга релевантности.
DataparkSearch поддерживает два метода расчёта рейтинга популярности. Метод, использовавшийся в предыдущих версиях получил название Goo, а новый метод называется Neo. По умолчанию используется метод Goo. Чтобы выбрать нужный метод расчёта популярности используйте команду PopRankMethod:
PopRankMethod Neo
Для метода расчёта популярности Neo,а также для полного варианта метода Goo вам необходимо включить сбор ссылок между страницами командой CollectLinks yes в вашем файле конфигурации indexer.conf. Однако, это незначительно уменьшает скорость индексирования, поэтому по умолчанию сбор этих ссылок выключен.
Если в indexer.conf указана опция PopRankSkipSameSite yes, то при расчёте рейтинга популярности учитываются ссылки только между различными сайтами.
Рейтинг популярности рассчитывается в два этапа. На первом этапе значение параметра Weight для каждого сервера делится на число ссылок со страниц этого сервера. Таким образом определяется вес одной ссылки с этого сервера. На втором этапе для каждой страницы находится ссума весов всех ссылок, указывающих на эту страницу. Эта сумма и является индексом популярности страницы.
По умолчанию значение параметра Weight для каждого сервера равно 1. Изменить это значение вы можете непосредственно в SQL-таблице server или при помощи команды Weight в файле конфигурации indexer.conf.
Если в 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).
При этом методе расчёта популярности подразумевается, что страницы являются нейронами, а ссылки между страницами являются связями между нейронами. Такми образом для образованой нейросети можно использовать один методов её обучения - метод обратного распростаанения ошибки. Рейтингом популярности страницы в данном случае считается уровень активности соотвествующего нейрона.
Вы можете использовать команду PopRankNeoIterations для задания числа итераций при расчёте популярности методом "Neo". Значение по умолчанию: 3.
При булевом поиске, состоящем из двух и более слов, необходимо вводить операторы (&, |, ~). Т.е. необходимо вводить "a & book" вместо "a book" (без кавычек).
Эта возможность позволяет связать слова между <a href="xxx"> и </a> с документов, на который указывает данная ссылка. Эта возможность не поддерживается для встроенной (built-in) базы данных. Для включения этой возможности, используйте команду CrossWords yes в indexer.conf и search.htm.
Пред. | Начало | След. |
Дизайн search.html | Уровень выше | Регистрация поисковых запросов |