我们正在使用Solrnet根据用户可以选择的一组选项向Solr发出复合查询,例如:短语,确切的短语。排除,接近等。我们基于使用SolrQueryByField API选择的选项创建单个查询,并使用SolrMultipleCriteriaQuery和AND运算符组合组合。但是当我们将查询提交给Solr时,提交的q参数在所有术语中都添加了+符号:
q=(ContentSearch:(roman)+AND+ContentSearch:("test+case")+AND+-ContentSearch:(wine)+AND+(ContentSearch:(A)+OR+ContentSearch:(B))+AND+ContentSearch:("catacombs+wine"~5)+AND+ContentSearch:([10+TO+20]))}
+ AND +或“test + case”或+ AND + - 或10 + TO + 20搞乱了查询解析器。以前有人遇到过这个吗?当solrnet将请求发送到solr时,是否与url编码有关?
答案 0 :(得分:0)
如果您使用的是SolrNet 0.4.0,则可以在SolrQueryByField Quoted=false
上设置可选参数,这将停止QueryByField的默认行为以转义特殊字符。