Мне нужно извлечь отдельные термины из строки, чтобы построить запрос, используя BooleanQuery
.
Я использую QueryParser.parse()
метод для этого, это мой фрагмент кода:
booleanQuery.add(
new QueryParser(
org.apache.lucene.util.Version.LUCENE_40,
"tags",
new WhitespaceAnalyzer(org.apache.lucene.util.Version.LUCENE_40)
).parse("tag1 tag2 tag3"),
BooleanClause.Occur.SHOULD);
Мне, однако, интересно, если это правильный способ передачи отдельных терминов в booleanQuery.
Метод
QueryParser.parse
возвращает объект SrndQuery
, который я непосредственно передаю методу booleanQuery.add()
.
Не уверен, что это правильно. Должен ли я извлечь отдельные термины из SrndQuery
... или что-то в этом роде и вызвать booleanQuery.add()
несколько раз?
Обновление : печатный запрос
*.*:*.* title:Flickrmeetup_01 description:Michael description:R. description:Ross tags:rochester tags:ny tags:usa tags:flickrmeetup tags:king76 tags:eos350d tags:canon50mmf14 tags:mikros tags:canon tags:ef tags:50mm tags:f14 tags:usm tags:canonef50mmf14 tags:canonef50mmf14usm