2
내가 루씬에서 검색 오전에/동일 운영자과 같이 구현루씬의 BooleanQuery는이 "동일"로
내용입니다-UT-08ec5de9-8813-4361을-be88-55695ddfaa00현재 작동 중입니다.
그러나 BooleanQuery와 같이 구현 된 "in"연산자를 사용하는 경우;
final BooleanQuery booleanQuery = new BooleanQuery();
for (final String aValue : value) {
booleanQuery.add(new TermQuery(new Term(getName(), aValue)), BooleanClause.Occur.SHOULD);
}
는 내가 가정하고 테스트를 많이 한 내용입니다-UT-08ec5de9-8813-4361-be88-55695ddfaa00
있는 모든 고객을 찾을 수 없습니다
그 '내용입니다-UT-08ec5de9-의 길이 8813-4361-be88-55695ddfaa00 '또는 대시가 문제가 될 수 있습니다. (나는 토큰을 사용하여 db로 유지) BooleanQuery와 함께 사용할 때.
단서가 있습니까? 내용입니다-UT-08ec5de9- : -이 그것으로 작동하지 않습니다 25c20c21-bd88-4a6d-aa02-209b5fb6fb11 :이 "에서"(부울 쿼리)와 협력 - 가 :
편집 : 어떤 이상한 것은이다 8813-4361-be88-55695ddfaa00
해결 방법을 찾을 수 다음 루씬 단어는 나를 위해 소문자 :
'Query' 객체에서'toString()'을 호출하면 실행될 내용이 텍스트로 표시되고 디버깅에 매우 유용 할 수 있습니다. – skaffman
일반적으로 색인 생성 및 구문 분석시 동일한 분석기를 사용해야합니다 쿼리 문자열. Lowercasing 필터는 StandardAnalyzer의 일부입니다. – Yaroslav
fyi - 솔루션을 찾은 경우 자신의 질문에 대한 답변으로 게시하는 것이 가장 좋습니다. – Justin