Lucene 쿼리에서 앰퍼샌드와 단어 "and"를 처리하는 방법에 대한 조언을 찾고 있습니다. 내 테스트 쿼리 (따옴표 포함)됩니다Lucene.NET - "and"가 포함 된 구문 검색
- "석유와 가스 필드"(완전한 구)
- "연구 개발"(완전한 구)
- "R & D"(완전한 구)
이상적으로는 입력이 사용자에게서 오는 것처럼 QueryParser
을 사용하고 싶습니다.
테스트 및 문서를 읽는 동안 StandardAnalyzer
을 사용하는 것이 내가 원하는 것에 적합하지 않음을 발견했습니다. 처음 두 검색어의 경우 QueryParser.Parse
은 다음과 같이 변환합니다.
contents:"oil gas field"
contents:"research development"
내가 원하는 바가 없습니다. . 내가 대신 PhraseQuery
를 사용하는 경우, 나는이 SimpleAnalyzer
를 사용하는 경우 아마도 "와"인덱싱되지 않기 때문에
, 나는이 문구를 찾을 수 있습니다 (어떤 결과를 얻을 수 없지만 QueryParser.Parse
는 마지막 학기를 변환 :
contents:"r d"
다시, 내가 찾고되지 확실히 무엇을 어느.
어떤 조언을?