0
"John Doe"라는 용어를 검색 할 때 "John", "Doe"또는 "John Doe"와 일치 할 수 있도록 공백으로 검색 쿼리를 분할 할 때, 전체 쿼리 만이 아니라 이것이 내가 지금하고있는 방법입니다.공백으로 Lucene QueryString을 분할하는 가장 효과적인 방법
BooleanQuery booleanQuery = new BooleanQuery();
String[] terms = queryString.split(" ");
for(String term : terms) {
booleanQuery.add(new FuzzyQuery(new Term("firstName", term)), BooleanClause.Occur.SHOULD);
booleanQuery.add(new FuzzyQuery(new Term("lastName", term)), BooleanClause.Occur.SHOULD);
}
저에게이 접근 방식은 조금 엉망입니다. 더 좋은 방법이 있습니까?
왜 QueryParser를 사용하지 않습니까? – milan
예 QueryParser 및 WhiteSpaceAnalyzer를 사용합니다 (공백에만 분할하려는 경우) – naresh
John과 같은 부분적인 단어와 일치 할 수 있기를 원하기 때문에 퍼지와 함께 부울 쿼리를 사용했습니다. QueryParser 및 WhiteSpaceAnalyzer가이 작업을 수행 할 수 있습니까? – ryandlf