이의 내가루씬 :
stringfield:123456
textfield:name website stackoverflow
같은 문서를 가지고 있고이 다음과 같은 방식으로 쿼리를 작성하면 예상대로
StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_42);
QueryParser luceneQueryParser = new QueryParser(Version.LUCENE_42, "", analyzer);
Query luceneSearchQuery = luceneQueryParser.parse("textfield:\"name website\"");
가이 문서를 반환한다고 가정 해 봅시다 하나의 용어에 여러 단어, 하지만 Lucene QueryAPI를 사용하여 쿼리를 작성하는 경우
PhraseQuery firstNameQuery = new PhraseQuery();
firstNameQuery.add(new Term("textfield","name website"));
아무런 결과도주지 않을 것입니다. "name website"를 토큰 화해야합니다. 각 토큰을 phrasequery에 추가하십시오.
String Query를 구문 분석하는 동안 QueryAPI가 토큰 화하는 기본 방법이 있습니까? 물론 나 자신을 할 수 있지만 이미 구현되어 있다면 바퀴를 재발견하십시오.