나는 내 문제를 해결하기 위해 몇 시간을 보냈다. 나는 사람들이 내가 성취하려고 노력하는 것에 가까운 질문을하는 것을 보았다. 그러나 지금까지 아무도 같은 질문을하지 않는 것 같다. 이걸 적절하게 설명 할 수 있는지 알아 보겠습니다.Solr의 필터 관련없는 패싯
나는 신발 가게입니다. 내 웹 사이트에는 세 개의 페이지가 있습니다. 하나는 남성용 신발, 하나는 여성용 신발, 다른 하나는 어린이 신발입니다. 신발 테이블에 prod_group 필드가 있다고 가정 해 봅시다. 따라서 남성 페이지의 경우 쿼리는 q = prod_group : men이됩니다. 이제 제가 제공하고자하는 측면 중 하나가 브랜드라고합시다. q = prod_group : men & filter.field = brand
내가 겪고있는 문제는 패싯 결과가 남성 신발과 관련된 브랜드뿐만 아니라 데이터베이스의 모든 브랜드를 보여주고 있다는 것입니다. 즉, "My Little Pony"라인에 남성용 신발이 없다는 것을 이미 알고 있습니다. 브랜드 패싯에 My Little Pony를 표시하고 싶지 않습니다. facet.mincount를 설정하는 것은 내가 필요로하는 것이 아닙니다. 질문을 실행하면 q = prod_group : men & fq = color : red & filter.field = brand, 고객은 브랜드 "Mighty Joe"에 빨간색 구두가 없다는 사실을 보여주기를 원하므로 패싯이 필요합니다. 0의 패싯 카운트 0
기본적으로 기본 쿼리의 결과를 기반으로 패싯 결과가 기대됩니다. 지금까지이 작업을 수행하는 유일한 방법은 두 개의 쿼리를 실행하는 것입니다. 먼저 기본 쿼리 만 사용하고 facet.mincount를 1로 설정하여 관련 패싯 목록을 얻은 다음 facet.mincount를 사용하여 실제 쿼리를 다시 0으로 설정합니다. 이미 만들어진 패싯 선택에 따라 더 이상 사용할 수없는 특정 옵션을 회색으로 표시해야하는 경우를 파악할 수 있습니다.
두 개의 쿼리를 실행하면 다소 우아 해 보입니다. facet.pivot은 장기적으로 도움이 될 수 있지만 여전히 3.x를 사용하고 있으며 곧 변경 될 것으로 보지 않습니다. 하나의 쿼리로 필요한 것을 수행 할 쿼리/스키마/구성 옵션을 놓친 적이 있습니까?