我正在使用SolrQueryByField来测试Solr在搜索特定字段时的表现。但是,SolrQueryByField似乎在多字查询中应用引号。最后的网址有点像.. select?q =(prodname:“champion + creatine”)...这试着做一个完全匹配。有没有办法在SolrQueryByField中禁用引号,以便它转换为.. select?q =(prodname:champion + creatine)。谢谢!
答案 0 :(得分:3)
您可以在SolrNet中执行以下操作:
var q = new SolrQuery("prodname:champion") && new SolrQuery("prodname:creatine");
var response = solr.Query(q);
将产生:
select?q=prodname:champion+prodname:creatine
这应该可以实现你想要的。如果没有,请参阅SolrNet - Querying页面以获取更多选项。此外,我相信您看到问题中描述的行为的原因是因为SolrQueryByField
执行特殊字符转义。
编辑:使用注释中提到的SolrQueryByField修复。 (确保你有一个支持这个版本的SolrNet ......
var q = new SolrQueryByField("prodname", "champion creatine") { Quoted = false };