2014-11-21 2 views
0

저는 Solr의 패싯으로 작업 중이며 여러 패싯이 포함 된 패싯 그룹 개념을 가지고 있습니다. Solr의 패싯 그룹 - 하나의 쿼리로 가능합니다.

내가 그룹 사이의 OR 패싯 그룹 내 측면 사이의 관계 및 AND 관계를 I이

Product Type 
- Chairs (50) 
- Tables (20) 
- Mirrors (5) 

Color 
- Yellow (5) 
- Black (50) 
- Red (10) 
- Orange (10) 

같은 구조를 말한다.

따라서 내가 Chairs을 패싯으로 선택하면 50 개의 제품이 생성됩니다. 지금 줄 것이다 SOLR의 표준 패 시팅을 사용하여 (각 제품이 정확히 하나 개의 제품 유형과 하나 개의 색상을 가질 수 있다고 가정) :

Product Type 
- Chairs (50) 
- Tables (0) 
- Mirrors (0) 

Color 
- Yellow (5) 
- Black (30) 
- Red (5) 
- Orange (10) 

을하지만, 내가 정말 원하는 것은 그 제품 유형의 숙박 내 패싯 카운트 동일한은 그 중 하나가 선택 될 경우 일어날 일을 반영합니다.

Solr을 사용하여 하나의 쿼리로 수행 할 수 있습니까?

답변

1

패싯을 만들 때 using tagged filters and then excluding them을 구현할 수 있습니다. 참조 된 페이지에서

: PDF 제한하지 않았다 :

이 문서 타입을위한 다중 선택면을 구현하는 방식, GUI는 문서 타입이있는 것처럼 여전히 다른 문서 타입 값과 관련된 수를 표시 할 수 있습니다 아직 적용되지 않았습니다. 예 :

=== Document Type === 
    [ ] Word (42) 
    [x] PDF (96) 
    [ ] Excel(11) 
    [ ] HTML (63) 

이 문서 타입에 패 시팅 (faceting) 때 직접 문서 타입을 제한하고, 그 필터를 제외 현재 선택되지 않은 문서 타입 값, 태그 필터 계수를 반환합니다.

q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&facet=on&facet.field={!ex=dt}doctype 

필터 제외면 모든 종류의 지원됩니다. tag와 ex local params는 쉼표로 구분하여 여러 개의 값을 지정할 수 있습니다.

+0

아름다운. 고맙습니다! – AndersDaniel