I search for a word and I get the results with facet as follows:
<lst name="itemtype">
<int name="Internal">108</int>
<int name="Users">73</int>
<int name="Factory">18</int>
<int name="Supply Chain Intermediaries">6</int>
<int name="Company">1</int>
<int name="Monitor/Auditor firm">0</int>
</lst>
Then I wrote the condition like fq=itemtype:Factory
. I get the results. But I am not getting the results for fq=itemtype:Supply Chain Intermediaries
.
I am thinking the problem rests with the spaces in the condition (Supply Chain Intermediaries). I tried with urlencode
(to replace spaces with %20
) also. But it's of no use. Can you guys please help me to solve this?
For single value it is working fine. I build the query like this:
http:localhost:8080/solr/select/?q=adidas&version=2.2&indent=on&facet=on&start=0&rows=20&fq={!raw f=itemtype}Supply Chain Intermediaries
But i need to write for multiple values. The original Query with out raw is as follows
http://localhost/solr/select/?q=adidas&version=2.2&indent=on&facet=on&start=0&rows=20&fq=(itemtype:Company itemtype:Supply Chain Intermediaries)
Can you guys please help me to solve this.
How is your itemtype field analysed?
If it is of type string , then use:
fq=itemtype:"Supply Chain Intermediaries"
Otherwise you can also try:
fq=itemtype:(Supply Chain Intermediaries)
Assuming OR
is the default operator in your config and text
is the default search field, your query will get translated to:
fq=itemtype:Supply OR text:(Chain Intermediaries)
Chain and Intermediaries are searched against default search field.
This helped. thank you. But what when we have some field name with white spaces? Pls advise.
+1 Thanks, I'm using lbdremy.github.io/solr-node-client by the way and there is no conversion for array input types so it must be manually done.
I'm building query using Solr Criteria(fieldname).contains(value) not working for me. Any suggestions?