2012-01-23 17 views
6

Próbuję zastosować znakowanie filtrów do wyszukiwania Solr Tagging_and_excluding_Filters.Solr wielokrotne filtrowanie znaczników/z wyłączeniem

Wyzwanie polega na jednoczesnym zastosowaniu wielu tagów (w przypadku wielu opcji wyboru na jednej stronie). na przykład

q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&fq={!tag=doc}document:1&facet=on&facet.field={!ex=dt}doctype&facet.field={!ex=doc}document

ale z jakiegoś powodu wyłączeniem działa tylko dla jednego filtra i drugi dostaje niezauważone. Czy jest jakiś problem z moją składnią? Czy ktoś może zaproponować lepszą metodę?

Odpowiedz

2

Ta odpowiedź może nie być aktualna, ale myślę, że to powinno rozwiązać twój problem.

Spróbuj dodać oba tagi w obu klauzulach. Zrobiłem to i zadziałało dla mnie w podobnym przypadku.

q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&fq={!tag=doc}document:1&facet=on&facet.field={!ex=dt,doc}doctype&facet.field={!ex=dt,doc}document 
4

Mam similiar problem do rozwiązania i wydawało się do pracy tylko za pomocą przecinka, aby oddzielić wyłączone tagi:

Od: http://wiki.apache.org/solr/SimpleFacetParameters#facet.field

Filtr wykluczenia jest obsługiwane dla wszystkich rodzaje faset. Zarówno znacznik , jak i localne parametry lokalne mogą określać wiele wartości, oddzielając je przecinkami.

Więc myślę, że używasz go lubię: {!ex=doc,dt}