2

를 계산 =============================
1 상점 이름 X 박스 360 멋진 게임기 전자 게임 199.99
2 상점 이름 X 박스 360 멋진 게임기 전자 게임 199.99
3 상점 이름 X 박스 360 개 멋진 게임기 전자 게임 249.99
그룹화 결과와 유지면은 ========================== <br/> 키 저장소 항목 이름 설명 범주 가격 <br/> SOLR 3.3을 사용하여 일관된

나는 위의 표와로드와 유사한 데이터가 솔라. 품목 이름, 묘사 종류, 가격은 검색 가능합니다.

예상 결과 기본적으로 내가 스토어, 항목 이름, 설명 및 분 최대 가격 그룹을 완, 나는 위의 결과를받을 수 SOLR에 보낼 수있는 쿼리 매개 변수가 될 것입니다 무엇
Facet Field   
Category    
    Electronic(1) 
    Games(1) 

**Store Name** 
XBox 360 Nice game machine priced from 199.99 - 249.99 

페이징을 메인 (StoreName)과 일관되게 유지하려고합니다. 페이징은 상점 이름 그룹을 기반으로해야합니다. 그래서 20 점포가 발견되면. 나는 올바르게 페이지 할 수 있어야한다.

제발 제안하십시오

답변

0

은 그래서 지금, 나는 하나의 필드에 필요한 필드를 그룹화하고 저장 다른 필드, 해결 문제를 만들어 해당 필드에 난 그냥 그룹이고 나는 정확한 수를 얻을.

0

필드 축소에 대해 살펴 보았습니까? Solr 3.3에서 새로 추가되었습니다. 내가 무슨 짓을

http://wiki.apache.org/solr/FieldCollapsing

+0

나는 그것을 시도했지만 패싯 카운트가 올바르게 오지 않는다. 결과 수는 여전히 1 대신 4를 나타내지 만 결과는 그룹화됩니다. 패싯, 페이징 등의 깨끗한 카운트를 만드는 방법을 알지 못한다. – user357086

8

Solr 4.0을 사용하는 경우 "group.facet = true"매개 변수를 추가 할 때 새로운 "그룹화"(FieldCollapsing 대체)가이 문제를 수정합니다. 당신이 당신의 검색 요청에 다음 매개 변수를 추가 할 것이다

그룹에 그래서 필드 :

group=true   // Enables grouping 
group.facet=true // Facet counts to be number of groups instead of documents 
group.field=Store // Groups results by the field "Store" 
group.ngroups=true // Tells Solr to return the number of groups found 

발견 그룹의 수는 사용자에게 보여 대신 일반의, 페이징에 사용하는 것이 무엇인가 총 수는 색인의 총 문서 수입니다.

+0

'group.facet'은 약 25M 레코드의 색인과 20GB의 크기에 대해 극도로 비효율적입니다 (여기서는'group.facet'가없는 쿼리는 약 1-2 초,이 옵션은 25 초 이상 걸립니다) – rabudde