Lucene QueryParser или Query: получите все необходимые условия
Есть ли способ получить из экземпляра Query все те термины, которые фактически необходимы для документов? QueryParser используется для создания экземпляра Query, поэтому "содержимое" запроса определяется пользователем.
Пользователь может, например, дать это как строку запроса
+A +B
тогда я хотел бы получить [A, B] (например, в виде массива строк)
или же
тогда просто [A] как результат мне понадобится.
1 ответ
Нечто подобное может работать (не проверено):
Query q = ...;
Set<Term> terms = new HashSet<>();
q.extractTerms(terms);
for (Term term : terms) {
System.out.println(term.field());
}