1
내 Lucene.net (2.9.2) 모든 문서를 반환하는 쿼리는 두 개의 필드가 문서의 모든 텍스트가 저장되는 곳입니다 (Field.Store.NO , Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS
사용). 나는이 쿼리를 수행 할 때 categoryid:1
Lucene.net 원하지 않는 문서
:이 쿼리가 실행되면 Field.Store.YES, Field.Index.NOT_ANALYZED
, 그것은 해당 카테고리 ID 문서를 반환
categoryid
categoryid:1 foo bar
는 문서를 반환 1 이외의 다른 카테고리에서 가져 오기
왜 그런가요? 그리고 원래의 categoryid:N
검색어를 존중하도록하려면 어떻게해야합니까?
Lucene의 기본값은 AND 연산자 대신 OR 연산자를 사용합니까? – Dai
@David, 정확하게. 잘못 쓰인 단어를 더 잘 처리합니다. 빈 검색 결과 대신 무시되도록합니다. – sisve
버전 2.9에서는 구문이 약간 다릅니다 :'queryParser.SetDefaultOperator (QueryParser.AND_OPERATOR)'. – Oliver