I need to search for facets in solr as below:
fq=country:usa
fq=country:canada
fq=topic:industrial
fq=topic:political
now i need to search for the articles that have the above facets (logical And) and (logical Or).
suppose that i have the following articles
- country=USA France //Topic: Industrial Scientific
- country=USA canada //Topic: Industrial
- country=USA canada //Topic: Industrial political
now, i have tried
http://127.0.0.1:8888/solr/Collection1/select?q=*:*&start=0&rows=10&facet=true&fq=country:USA&fq=country:canada&fq=topic:political&fq=topic:industrial
but this didnt return anything :(
could you please guide me to how to search for those faces by ANDing and ORing between them
Thanks for your help
You can use boolean operators to filter the results.
OR - fq=country:(USA OR canada)&fq=topic:(political OR industrial)
AND - fq=country:(USA AND canada)&fq=topic:(political AND industrial)
This sort of thing would be even easier if the Solr devs implement this feature request:
https://issues.apache.org/jira/browse/SOLR-1223
It like it because then each fq can be specified (and cached) separately and the AND/OR logic of the fq's is separated out. Your case is pretty straightforward and the above answer just fine, but when you get some nasty fq's simply AND'ing them all together is not powerful enough.