2013-08-16 3 views
3

Solr은 각 패싯을 이름/개수 쌍 (FacetField로 묶음)의 모음으로 반환합니다. 내 측면 검색 애플 리케이션에서 나는 다음과 같이 이것을 사용할 것이다.솔라의 필드에 대한 패싯 이름과 여분/메타 정보 얻기

Audi (2) 
Honda (5) 
Mitsubishi (6) 
Mercedes Benz (8) 

이제 이것을 링크 목록으로 바꾸고 싶습니다. 나는 일하는 것이

http://www.example.com/category=Mercedes%20Benz

같은 URL을 만들 수 있습니다,하지만 난 차라리이다

http://www.example.com/category=4

, 나는 카테고리/브랜드의 데이터베이스 ID를 대신 사용하고자하는 것 그들의 이름의.

Solr에서 필드를 어떻게 든 연결하여 범주 이름을 범주 ID에 연결하고 둘 다 내 쿼리에서 반환하도록 할 수 있습니까? 아니면 다중 값 필드를 사용하고 카테고리 이름과 ID를 함께 저장해야합니까?

귀하의 조언을 가장 환영합니다 :)

답변

1

나는 생각이있다. 범주 ID와 범주 이름을 함께 결합하는 새 필드를 정의 할 수 있습니다. 아래처럼 표현하십시오. 이 같은 결과를 얻을 것이다 새로운 분야에 패 시팅

1_Audi, 2_Honda, 3_Mitsubishi ,4_Mercedes Benz 

,

1_Audi(2) 
2_Honda(3) 
3_Mitsubishi(4) 
4_Mercedes Benz(5) 

당신은 카테고리 ID와 이름을 모두 얻을 수 laterly을 분할 할 수 있습니다. 링크의 ID 인 동안 disply의 이름.

+0

필자는 필드를 실제로 연결할 수 있기를 원했지만 가능하지 않은 것 같습니다. 그래서 이것은 가장 간단하고 효과적인 솔루션입니다. 감사. – Julius

2

Solr pivot도 확인할 수 있습니다. 그러면 카테고리 이름과 카테고리 ID가 부모 자식 패싯 계층 구조로 반환되며, 이는 항상 일대일 일치입니다.