2016-07-26 7 views
0

제품의 속성에 solr 패싯을 적용했습니다.Hybris : 다른 solr 패싯 하나 아래 결합

예 : 제품은 약 (0/1) 또는 약물 (0/1) 또는 독 (0/1) 중 하나 일 수 있습니다. 0은 NO를 의미하고 1은 YES를 의미합니다.

이것은 제품의 다른 기능이므로 다른 패싯으로 나타납니다. "유형", 어떤이 세 SOLR 패싯 "의학", "의약품"에서 "독"과 같이 표시되어야합니다 : 그것은 대신 예를 들어, 한면에서이를 표시 할 수 있으며, Hybris에 대한

Type 
----- 
Medicine (50) 
Drug (100) 
Poison (75)
+0

ENUM (Medicine, Drug, Poison) 유형의 새 제품 속성을 만들 수 있습니다. 그 후에이 속성을 패싯으로 만듭니다. – sree

+0

새 제품 속성을 만들 수 없습니다. 나는 거기에 facet.prefix 태그가 내가 무엇을하려고하는지 달성하는데 도움이 될 수있는 HierarchicalFaceting이 Solr에 있다고 생각한다. 그러나 hybris에서 이것을 구현하는 방법을 모르겠습니다. –

답변

0

여기에 게시 된 솔루션을 시도했지만 내 요구 사항에 맞지 않았습니다. 나는 패싯 탐색 태그 파일을 통해 모든 분류 속성 패싯 (의학, 약물, 독)을 단일 패싯 (유형) 아래로 가져 오는 변경 작업을 수행했습니다.

0

확실하지하지만 facet queries으로 그렇게 할 수 있습니다. 세 가지 조건마다 하나의 패싯 쿼리가 필요합니다. UI에서는 원하는대로 카운트를 구성 할 수 있습니다.

그러나 의학 및/또는 약물 및/또는 독 값이 들어있는 다중 값 필드를 포함하는 범주 필드를 사용할 수없는 이유는 확실하지 않습니다. 그러면 그 분야에서 패 시팅을하면 고장이 나옵니다. 값이 그런 식으로 오지 않으면 copyField 또는 사용자 정의 Update Request Processor chain을 사용하여 값을 조작하여 하나의 필드로 병합 할 수 있습니다.

0

이것은 매우 쉽습니다. IndexedProperty "Type"과 새로운 사용자 정의 ValueProvider를 만듭니다. 그런 다음 부울 플래그를 기반으로 이러한 값을 추출합니다. 필요한 경우 하드 코드 만 추출합니다. 더 복잡한 것은 필요 없습니다.

+0

Hybris에서는 ClassAttributeAssignment를 사용하여 SolrIndexed 속성에 대한 분류 속성을 설정하고 있습니다. solr impex를 통해 ClassAttributeAssignment의 목록을 제공 할 수 있습니까? 모든 분류 속성은 단일 SolrIndexed 속성 아래에 표시됩니다. –