Переписать запрос в lucene - PullRequest
2 голосов
/ 18 июля 2011

Когда lucene хочет вычислить вес запроса, он сначала вызывает searcher.rewrite (Query) , что эта функция делает для каждого типа запроса?

1 Ответ

3 голосов
/ 18 июля 2011

Средство переписывания запросов превращает предложения запроса более высокого уровня в предложения более низкого уровня, которые работают лучше.Конечный результат функционально идентичен.

Например, javadoc для Query.rewrite говорит:

Expert: вызывается для перезаписи запросов в примитивные запросы.Например, PrefixQuery будет переписан в BooleanQuery, который состоит из TermQuerys.

Если Lucene должен выполнить точный анализ затрат на запрос, он должен переписать запрос в его самую быструю форму.

...