web-dev-qa-db-fra.com

Apache Solr - OR dans la requête de filtre

Est-il possible de rechercher (avec Apache Solr) des éléments appartenant à l'une des rares catégories à l'aide d'une requête de filtrage, par exemple articles de la catégorie 'ordinateurs' OR 'téléphones'

Lorsque je souhaite rechercher des éléments dans la catégorie ordinateurs ET téléphones, je tape:

select/?q=...&fq=cat:computers&fq=cat:phones

mais il est possible d'utiliser OR au lieu de AND?

38
krinn

Vous pouvez utiliser

fq=cat:(computers OR phones)
62
Jayendra

Une requête de filtre n'est qu'une requête - aussi complexe que vous le souhaitez. Ainsi, vous pouvez certainement créer une requête, par exemple,

fq=(cat1:val1 OR cat2:val2 OR (cat3:(val3 AND val4)))

...ou peu importe.

La seule différence entre une requête de filtre et une requête ancienne (en plus des problèmes de mémoire et de mise en cache, auxquels vous voudrez peut-être également réfléchir) est qu'une requête de filtre n'affecte pas du tout les scores de pertinence. Mais en termes de complexité, vous pouvez faire ce que vous voulez.

45
Bill Dueber