2010-06-25 3 views
1

RavenDB를 사용하여 Lucene Index에 대한 쿼리를 수행합니다.Lucene Boolean 쿼리가 ANalyzed 필드에 있지 않음

이 질의 파싱 괜찮 : X : [A] AND Y : [B] AND Z : [C]

그러나이 쿼리 내게 파스 예외를 준다 : X : [a]] AND Y : [[b]] ​​AND Z : [[c]] AND P : [[d]]

"Lucene.Net.QueryParsers.ParseException : '(AND)'을 (를) 구문 분석 할 수 없음 : 발생했습니다. \ "\"AND "

나는 복잡한 색인에 이것을 시도해 보았고 간단한 결과를 얻었고 결과가 3 번 지나면 똑같은 결과를 얻었습니다. 내가 정확한 일치 (때로는 값에 공백 등이 포함되기를 원하기 때문에)를 사용하고 [RavenDB]에서 인덱싱에 대한 약간의 통제가 있기 때문에 [[]]를 사용하여 분석하지 않았습니다.

필자는 구문 분석 예외를 피하기 위해 쿼리를 다시 쓸 수있는 방법이 궁금합니다.

답변

0

이것은 Lucene의 QueryParser에서 버그처럼 보입니다. 사용자 메일 링리스트에서이를보고 해보십시오.

바이 패스로 BooleanQuery를 수동으로 만들고 원하는 용어를 추가 할 수 있습니다. 분석되지 않기 때문에 쿼리가 너무 복잡해 보이지 않으므로 쿼리 파서가 없으면 더 나을 수 있습니다.

2

이것은 최신 RavenDB 빌드에서 수정되었습니다. 자세한 내용은 this thread을 참조하십시오.

관련 문제