При поиске, есть ли способ отключить подсчет очков для любого запроса?Отключение подсчета очков в Lucene (.NET)
Сценарий заключается в том, что пользователь уточняет свой запрос, используя разные комбинации слов, фраз и т. Д., И нуждается в ответах в реальном времени (ну, достаточно быстро), на количество обращений.
Время поиска замедляет работу, когда есть миллионы ударов из-за подсчета очков, но пользователю действительно не нужны все эти документы. Как только он увидит, что есть 1M + хиты, он начнет добавлять дополнительные слова к запросу. Опция «Сортировать по релевантности» позволила бы ему сделать это быстро, в то время как снова забив, когда количество обращений будет разумным.
Возможно ли это?
Я использую Lucene.NET 2.9.2, но AFAIK идентичен версии Java.
Благодарим за информацию. Я попытался создать NullCollector (ничего не делает), и он действительно работает. К сожалению, время поиска такое же, как у сборщика по умолчанию. Время не потрачено в сборщике, оно проводится в TermScorer, который по-прежнему вызывает мой NullCollector для каждого документа в результирующем наборе. – Rabbit
Это меня не удивляет. Чтобы найти # документа для запроса, Lucene должна выполнить работу по поиску документов, соответствующих условиям. Если производительность в реальном времени действительно важна для вас, возможно, обратите внимание на разделение индексов и поиск их параллельно. – bajafresh4life