2012-09-17 3 views
1
의 용어 쿼리 조합

나는 루씬에 새로운 오전과 내가 3 기준에 따라 내 검색 결과를 필터링하고 싶었 원 :그룹과 루씬

  1. 필드 document_type의 값이 필드 brand_idProduct
  2. 값이어야합니다 4
  3. 필드 family_id의 값이 기본적으로 내가 원하는 그래서 (121, 232, 343)

에서 모든 값을해야해야 검색 결과에 다음과 같이 조합을하는 것입니다 : 나는 트릭을 할해야 document_type:Product AND brand_id:4 AND family_id:(121 232 343) 생각

  1. document_type:Product AND brand_id:4 AND family_id:121
  2. document_type:Product AND brand_id:4 AND family_id:232
  3. document_type:Product AND brand_id:4 AND family_id:343

하지만이 쿼리를 구문 분석하는 동안 표준 분석도를에 Product한다 값 Product의 인덱싱 필드 document_typeField.Index.NOT_ANALYZEDField.Store.YES으로 설정된 경우

주어진 3 가지 경우에 대해 3 가지 가능한 쿼리를 결합하여 부울 쿼리를 만들 수 있는지 궁금합니다.

나는 Lucene이 새롭다. 누군가 나를 도와 줄 수 있을까?

감사합니다.

답변

1
Query.combine(Query[]) worked like a charm for the given situation. 

주어진 방법에 대한 설명서는 here입니다.

쿼리

는 적용 콤바인하면 다음과 같이 밝혀졌다 :

(+document_type:Product +brand_id:4 +family_id:121) (+document_type:Product +brand_id:4 +family_id:232) (+document_type:Product +brand_id:4 +family_id:343) 

감사합니다.