Релевантность поиска Zend Lucene

Как лучше всего настроить Zend Lucene, чтобы результаты поиска были более релевантными?

у меня есть следующие поля и тип документа

 productname (Text)
 description (Text)
 category (Keyword)

Пожалуйста, дайте несколько примеров кодов.


person Sreejith Sasidharan    schedule 28.05.2010    source источник
comment
Пожалуйста, уточните, что вы имеете в виду под более релевантным. Lucene не возвращает ожидаемые вами документы?   -  person ZeissS    schedule 28.05.2010
comment
да результат выглядит очень неактуальным. есть более релевантные продукты, чем возвращенные результаты   -  person Sreejith Sasidharan    schedule 30.06.2010


Ответы (2)


В связи с вашим вопросом мне приходят в голову две концепции, но я не уверен, что именно вы ищете.

Оценка: оценка, показывающая, насколько документ соответствует поисковому запросу. Из руководство:

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"

Это вообще помогает?

person nuqqsa    schedule 28.05.2010

Получить релевантный результат из любой поисковой системы - тяжелая работа. С указанным вами уровнем детализации сложно дать вам какой-либо конкретный совет. Я предлагаю вам начать с этого документа < / а>.

person Yuval F    schedule 28.05.2010