Как использовать агрегатную функцию в строке запроса Lucene - PullRequest
0 голосов
/ 24 января 2012

Я использую apache lucene для индексации и поиска в моем приложении. Все работает нормально, и теперь я должен интегрировать отчеты, и для этого мне нужны совокупные значения. Я застрял и не смог найти способ использовать статистическую функцию в строке поиска lucene , как мы можем использовать их в HQL очень легко!

Какие-либо подсказки или способ использовать статистическую функцию в строке поиска Lucene?

Ответы [ 2 ]

1 голос
/ 25 января 2012

В отличие от HQL (и SQL), синтаксис запросов Lucene не позволяет получать агрегаты.Тем не менее, вас может заинтересовать похожая функция, называемая faceting , которая позволяет вам получать значения категорий для вашего запроса.

0 голосов
/ 24 января 2012

Один из способов сделать это - использовать поле catchall, содержащее все другие доступные для поиска текстовые поля (реализовано через copyField в схеме)

defaultSearchField для поиска в различных полях агрегирования

Если вы хотите агрегировать в запросе, то объедините ваши данные, используя схему импорта данных, поместите их в поле и используйте это поле в defaultSearchField

...