0 votes

Solr - syntaxe à facettes multiples

J'ai du mal à construire l'URL d'une requête qui comporte plus d'un multifacette. Je suis l'exemple ici :

http://www.craftyfella.com/2010/01/faceting-and-multifaceting-syntax-in.html

Par exemple, regardez le screendump eBay, à quoi ressemblerait l'URL si vous sélectionnez "Sony" et "LG" dans la section "Marque", puis "LCD" dans la section "Type" ?

Supposons que BRAND et TYPE soient définis dans schema.xml.

Cette URL fonctionne si vous sélectionnez "Sony" et "LG" dans la section "Marque" :

...&facet=on&facet.field={!ex=BRAND}BRAND&fq={!tag=BRAND}BRAND:Sony%20OR%20LG

Mais que faire si vous avez besoin de sélectionner à la fois la "Marque" et le "Type" ? J'ai essayé ceci mais cela ne me donne pas ce que je veux :

...&facet=on&facet.field={!ex=BRAND}BRAND&fq={!tag=BRAND}BRAND:Sony%20OR%20LG&facet.field={!ex=TYPE}TYPE&fq={!tag=TYPE}TYPE:LCD

Toute aide est appréciée.

0voto

Pascal Dimassimo Points 4976

Lorsque vous spécifiez fq deux fois, seuls les documents correspondant aux deux filtres seront conservés. C'est comme avoir un seul fq avec AND pour les conditions. Ce n'est peut-être pas ce que vous voulez. Si vous voulez garder les documents ayant l'un ou l'autre filtre, vous devrez utiliser une seule fq et combiner la condition avec OR.

UPDATE
Après réflexion, il est probablement plus logique d'avoir un AND entre les filtres BRAND et TYPE.

N'oubliez pas non plus de préciser à nouveau dans quel champ vous appliquez la deuxième condition de la marque fq :

fq=BRAND:Sony+OR+BRAND:LG

Enfin, vous pouvez spécifier la même exclusion pour les deux facet.field, donnée :

...&facet=on&facet.field={!ex=bt}BRAND&facet.field={!ex=bt}TYPE&fq={!tag=bt}BRAND:Sony+OR+BRAND:LG+OR+TYPE:LCD

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X