Как лучше всего настроить Zend Lucene, чтобы результаты поиска были более релевантными?
у меня есть следующие поля и тип документа
productname (Text)
description (Text)
category (Keyword)
Пожалуйста, дайте несколько примеров кодов.
Как лучше всего настроить Zend Lucene, чтобы результаты поиска были более релевантными?
у меня есть следующие поля и тип документа
productname (Text)
description (Text)
category (Keyword)
Пожалуйста, дайте несколько примеров кодов.
В связи с вашим вопросом мне приходят в голову две концепции, но я не уверен, что именно вы ищете.
Оценка: оценка, показывающая, насколько документ соответствует поисковому запросу. Из руководство:
Zend_Search_Lucene использует те же алгоритмы оценки, что и Java Lucene. Все совпадения в результатах поиска по умолчанию отсортированы по количеству очков.
$hits = $index->find($query);
foreach ($hits as $hit) {
echo $hit->id;
echo $hit->score;
}
Оценка по умолчанию извлекается и применяется для упорядочивания результатов от более к менее релевантным, поэтому следует предполагать, что вам нужно что-то еще.
Увеличение количества терминов: используется для влияния на релевантность отдельных терминов в запросе. Еще раз процитируем руководство:
Повышение позволяет контролировать релевантность документа, повышая отдельные термины. Например, если вы ищете
PHP framework
и вы хотите, чтобы термин «PHP» был более уместным, увеличьте его, используя символ ^ вместе с коэффициентом усиления рядом с термином. Вы должны ввести:
PHP^4 framework
Это сделает документы с термином PHP более актуальными. Вы также можете усилить фразовые термины и подзапросы, как в примере:
"PHP framework"^4 "Zend Framework"
Это вообще помогает?
Получить релевантный результат из любой поисковой системы - тяжелая работа. С указанным вами уровнем детализации сложно дать вам какой-либо конкретный совет. Я предлагаю вам начать с этого документа < / а>.