Оптимизировать производительность поиска Lucene - PullRequest
0 голосов
/ 19 июля 2010

У меня есть приложение, которое хранит (заголовок, текст) новости как отдельное поле в документе lucene Во время поиска мне нужно создать запрос, который увеличивает заголовок над телом. (заголовок важнее при поиске), но он замедляет скорость поиска. Совет по оптимизации показывает, что я могу объединить эти два поля в одно и это абсолютно ускоряет поиск и индексацию, но я теряю оценки, которые хочу поймать при поиске (повысить заголовок над телом)

Есть ли способ объединить преимущества?

Ответы [ 2 ]

0 голосов
/ 19 июля 2010

Самый простой способ увеличить заголовок больше, чем тело и проиндексировать его в одном и том же поле, - это добавить текст заголовка несколько раз.

Или вы можете использовать полезные данные и переопределить сходство.См .:

http://www.lucidimagination.com/blog/2009/08/05/getting-started-with-payloads/

Я сомневаюсь, что любое из этих решений даст вам значительное улучшение скорости.

0 голосов
/ 19 июля 2010

Вы также можете попробовать повысить в индексное время.Например,

Document doc = new Document();
Field f = new Field(...)
f.setBoost(10f); // or choose a float value of choice
doc.Add(f);

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

...