我正在研究 SolrNet 3.6,它用于基于 ASP.NET MVC3 和 C# 的电子商务网站。
有一个名为“cpu socket type”的过滤器,它的值是
- AM2+
- AM3+
- AM2
当您使用“AM2”过滤时,Solr 可以正常工作,但使用“AM2+”或“AM3+”过滤时它无法正常工作。同时我们也不能得到任何结果或错误。我知道这个问题与特殊字符有关,但不知道如何处理?
根据SolrNet Wiki Page on Querying,尝试使用以下SolrQueryByField
方法:
它还具有为您处理特殊字符转义的好处。
cpusockettype
因此,假设您的字段在您的 solr schema.xml 文件中命名,您的代码将与此类似。
ISolrOperations<Item> solr = ...
var items = solr.Query(new SolrQueryByField("cpusockettype", "AM2+"));