2017-09-23 3 views
0

전자 상거래 애플리케이션의 패싯 기능에 전원을 공급하기 위해 Solr을 사용하고 있습니다. 여기에 설명 된대로 표준 방식으로 구현되었습니다. https://wiki.apache.org/solr/SimpleFacetParameters#Tagging_and_excluding_Filters사례 민감한 솔라 페어링 및 필터 쿼리에 대한 쿼리

애플리케이션 측면에서는 UI에서 필터링 경험을 제공하기 위해 Solr에서 반환 한 패싯을 사용했으며 URL은 패싯을 패싯으로 사용하여 작성됩니다. 이 매개 변수는 fq에 대한 패 세팅 매개 변수를 Solr에 더 전달하는 데 사용됩니다.

작은 이미지로 변경하면 더 이상 작동하지 않으며 정의되지 않은 필드 오류가 발생하므로 URL이 대소 문자를 구분합니다.

이 문제를 극복하기위한 한 가지 해결책은 모든 패싯을 작은 경우로 인덱싱하는 것입니다. 그러나 패싯은 Solr faceting 결과 자체로 만들어 지므로 작은 결과도 얻을 수 있습니다. 프론트 엔드에서는 원래 케이스가 느슨해지며 CSS로 관리 할 수 ​​없습니다. 예를 들어 RAM을 RAM 또는 RAM이 아닌 RAM으로 표시해야하는 등 여러면을 보존해야합니다. 마찬가지로 microSD는 Microsd 또는 microsd가 아닌 microSD로 표시되어야합니다. 요청이 작은 경우에 만들어 짐에 따라

우리는 여기 https://wiki.apache.org/solr/SimpleFacetParameters#Tagging_and_excluding_Filters 참조

q=mainquery&fq=status:public&fq=**doctype:pdf**&facet=on&**facet.field=doctype** 

그러나 결과는 우리를 위해

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

, 이러한 요청이 일을하고 정의로 우리에게 오류를 제공하지 않습니다 적절한 경우에 표시됩니다 들!

우리는 Solr이 요청을하는 동안 대소 문자를 구분하므로이 도움말 문서를 읽지 않고 잘못 처리하고 있습니까? 아니면 Solr 도움말 문서 자체에 실수가 있습니까?

+0

[대소 문자를 구별하지 않는 패싯에 대한 Solr 쿼리의 중복 가능하지만 결과에 대한 대/소문자 보존] (https://stackoverflow.com/questions/46376518/case-insensitive-solr-query-for-facets-but-preserve-case- for-results) – MatsLindh

+0

그 질문은 저에 의해 게시되었습니다. 그러나 이것은 하나의 Faceting에 대한 Doc으로 작동하지 않습니다! – Krunal

+0

그건 (아주) 오래된 비 관리 위키 페이지이고 괜찮은 참조가 아닙니다. 현재 참조 문서를 사용하십시오. 그리고이 그림은 UI를 표시 할 수있는 예를 보여주기위한 것이므로 필터링 할 때 올바르게 색인 된 버전을 사용해야합니다. – MatsLindh

답변

0

이것은 (매우) 오래된 비 관리 위키 페이지이며 괜찮은 참조가 아닙니다. 현재 참조 문서를 사용하십시오. 그리고이 그림은 UI를 표시 할 수있는 예를 보여주기위한 것이므로 필터링 할 때 올바르게 색인 된 버전을 사용해야합니다.

Solr의 모든 항목은 대소 문자를 구분합니다. 패 시팅은 특별한 경우가 아닙니다.

필터링 (소문자 필터가있는 키워드 토큰 화)과 표시 (소문자 필터가없는 string/keywordtokenizer)에 대해 별도의 필드를 사용하여이 문제를 해결할 수 있습니다.

관련 문제