Lucene / Lucene.NET - значения Document.SetBoost ()? - PullRequest
7 голосов
/ 07 октября 2009

Я знаю, что для этого требуется поплавок, но каковы некоторые типичные значения для различных уровней повышения в результате?

Например:

Если я хочу повысить вес документа на 10%, тогда мне следует установить его на 1,1? На 20% тогда 1,2?

Что произойдет, если я начну устанавливать значения повышения, например 75.0? или 500,0?

Редактировать: исправлено форматирование

Ответы [ 3 ]

6 голосов
/ 11 октября 2009

См. Документация по подобию Lucene для формулы. В принципе, при прочих равных условиях при повышении документа до 1,1 действительно получится на 10% больше по сравнению с идентичным документом с увеличением 1,0. Если у вас есть набор документов, который должен быть предпочтительным при поиске, это может быть хорошей идеей. Обратите внимание, что повышение документа является атрибутом времени индексации, что делает невозможным изменение ускорения документа без его повторной индексации. Есть и другие важные факторы при подсчете очков, в том числе оценки по срокам, нормы и т. Д. Подробнее см. Проблемы отладки в поиске .

2 голосов
/ 15 октября 2009

Важная вещь, которую следует помнить о повышении, это не подходить к нему изолированно, вам нужно рассматривать его как часть глобальной стратегии, составить список каждого критерия, используемого для определения релевантности, а затем упорядочить эти критерии. Определите отношения между каждым из этих критериев. Регулярно ли вы реиндексируете или просто добавляете новые документы, если вы регулярно реиндексируете, вы можете позволить себе настроить критерии повышения качества ваших документов, если нет необходимости тщательно продумывать их заранее.

2 голосов
/ 14 октября 2009

Добавление к тому, что сказал Ювал. Это значение является функцией увеличения поля и увеличения документа. Значения усиления кодируются одним байтом. Таким образом, точность может быть потеряна при сохранении этого значения. Отладка с помощью Searcher.Explain () поможет вам получить нужное количество ускорения.

Если вы хотите, чтобы значение повышения было сохранено (это полезно, например, когда вы хотите воссоздать индекс из текущего индекса), вы можете добавить его в сохраненное поле.

...