SolrNet - 如何禁用SolrQueryByField中的引号?

时间:2011-11-18 19:32:25

标签: solr quotes solrnet

我正在使用SolrQueryByField来测试Solr在搜索特定字段时的表现。但是,SolrQueryByField似乎在多字查询中应用引号。最后的网址有点像.. select?q =(prodname:“champion + creatine”)...这试着做一个完全匹配。有没有办法在SolrQueryByField中禁用引号,以便它转换为.. select?q =(prodname:champion + creatine)。谢谢!

1 个答案:

答案 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 };