나는이처럼 보이는면 필드를 쿼리하고있는 동안 값 index
: f.brand.facet.sort=index
을 기준으로 패싯 값을 정렬합니다.SOLR 주문 패싯은 대소 insentive면 결과에 원래 값을 유지
이 나에게이 같은 결과를 제공합니다
Aaaa (5)
Bbbb (14
Cccc (8)
abbb (29)
내가 대소 문자를 구별 값을 정렬하고 싶은, 그래서 새로운 fieldType
가 LowerCaseFilterFactory
를 사용하기 위해 노력을 :
<fieldType name="text_facet" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
다시 인덱싱 후 결과는 다음과 같습니다.
aaaa (5)
abbb (29)
bbbb (14)
cccc (8)
주문이 cor입니다. rect하지만 값은 이제 LowerCase입니다.
나는이 결과를 싶습니다
Aaaa (5)
abbb (29)
Bbbb (14)
Cccc (8)
대부분의 게시물이 여기에 copyField
만들 말해,하지만 난 그게면 - 쿼리에 올 때 나는 두 개의 필드를 결합 할 수있는 방법을 이해하지 않습니다.
쿼리 할 때 원래 값을 유지하면서 대소 문자를 구분하지 않고 패싯 값을 정렬하는 방법이 있습니까?
항상 모든 패싯 항목을 검색하고 있습니까? 나는. 클라이언트 측을 분류 할 수 있습니까? – MatsLindh
@MatsLindh 아니, 아닙니다. 나는 솔라가 정렬을 처리하게하는 우아한 방법을 찾고있다. – Rob
그렇다면 Solr Faceting (스트리밍 표현과 함께 해킹이 가능할 수도 있음)만을 사용하는 완벽한 솔루션을 얻지 못할 것이라고 생각합니다. faceting을 가진 페이로드는 아마도이 문제를 해결할 수 있지만, 현재로서는 어떤 형태로도 구현되지 않았습니다. 또 다른 옵션은 소문자로 된 값과 분리 기호 (즉, 인덱스'aaaa; Aaaa'와'bbbb; Bbbb '그런 다음 프론트 엔드에서 분리 기호로 분리하십시오. 이것은 다른 대소 문자에 대해 다른 수를 줄 수 있지만 문제가되지 않을 수도/어쨌든 바람직 할 수도 있습니다. – MatsLindh