Lucene - ограничить количество результатов для определенного термина в поисковом запросе. - PullRequest
1 голос
/ 19 марта 2012

Проблема в том, что один из наших терминов может быть очень распространенным (например, число «3»). В этом случае я хотел бы ограничить количество набранных результатов поиска, пока Lucene выполняет запрос. Это вообще возможно? Просто чтобы подчеркнуть - я не хочу ограничивать результаты поиска Lucene (это можно легко сделать, используя второй числовой параметр в методе IndexSearher.Search). Я хочу сказать что-то вроде Lucene - не тратьте слишком много времени на поиск хитов по этому конкретному термину. Если вы нашли, скажем, 1 000 000 - перестаньте искать и перейдите к другим условиям.

1 Ответ

2 голосов
/ 19 марта 2012

Нет, вы не можете. Как вы, возможно, знаете, абсолютные баллы не имеют смысла в Lucene, поэтому их не поддерживают.

Поскольку этот термин действительно распространен, значение idf будет высоким (или низким, в зависимости от вашей точки зрения), поэтому, вероятно, оно будет относительно несущественным из-за алгоритмов отсечения Lucene . Вы всегда можете изменить импульс, чтобы сделать его еще менее значимым, но я бы дважды проверил, что это действительно ваше узкое место в производительности.

...