2012-09-05 39 views
0

我正在使用基于ASP.NET MVC3和C#的电子商务网站中使用的SolrNet 3.6。如何在SolrNet中处理滤波器中的特殊字符?

有一个过滤器称为 “CPU插槽类型” 和它的值是

  1. AM2 +
  2. AM3 +
  3. AM2

Solr的,当你用 “AM2” 过滤器是否正常工作但当您使用“AM2 +”或“AM3 +”进行过滤时,它不起作用。同时,我们也无法得到任何结果或错误。我知道这个问题与特殊性有关,但不知道如何处理这个问题?

回答

2

按照SolrNet Wiki Page on Querying,请尝试使用SolrQueryByField方法:

它也有它特殊处理字符转义为你的利益。

因此,假设您的字段在您的solr schema.xml文件中被命名为cpusockettype,那么您的代码将与此类似。

ISolrOperations<Item> solr = ... 
var items = solr.Query(new SolrQueryByField("cpusockettype", "AM2+"));