Lucene boost: мне нужно, чтобы он работал лучше - PullRequest
2 голосов
/ 18 февраля 2009

Я использую Lucene для индексации компонентов с именами и типами. Некоторые компоненты более важны, поэтому получают больший импульс. Тем не менее, я не могу заставить свой импульс работать правильно. Тем не менее, некоторые компоненты появляются позже (ухудшаются), даже если они имеют более высокий импульс.

Обратите внимание, что индексация выполняется только для одного поля, и я установил усиление только для этого поля. Я использую Lucene в Java.

Я не думаю, что это имеет какое-либо отношение к длине поля. Я видел компоненты с одинаковым именем (но разным типом), получающие неправильные оценки.

Ответы [ 5 ]

2 голосов
/ 12 марта 2009

Используйте Searcher.explain , чтобы узнать, как выводятся оценки для каждого документа. Одним из ключевых критериев оценки является длина поля. Матч на более коротком поле получает более высокий балл.

1 голос
/ 19 февраля 2009

Я предлагаю вам использовать luke , чтобы точно узнать, что хранится в вашем индексе. Вы используете повышение документов? См. документацию по оценке , чтобы проверить возможные объяснения.

0 голосов
/ 18 февраля 2009

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

добавлено: нет, похоже, вы действительно можете повысить конкретные документы. ой!

0 голосов
/ 19 февраля 2009

Убедитесь, что для field.omitNorms установлено значение false для поля, которое вы хотите увеличить.

0 голосов
/ 18 февраля 2009

Повышение - это только один из факторов в оценке Lucene для удара. Но это должно работать. Можете ли вы привести более полный пример поведения, которое вы видите, и того, что вы ожидаете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...