如何在SolrNet中处理过滤器中的特殊字符?

时间:2012-09-05 12:35:59

标签: solr solrnet

我正在使用SolrNet 3.6,它在基于ASP.NET MVC3和C#的电子商务网站中使用。

有一个名为“cpu socket type”的过滤器,其值为

  1. AM2 +
  2. AM3 +
  3. AM2
  4. 使用“AM2”进行过滤时,

    Solr正常工作,但使用“AM2 +”或“AM3 +”进行过滤时,它无法正常工作。同时我们也无法获得任何结果或错误。我知道这个问题与特殊字符有关,但不知道如何处理这个问题?

1 个答案:

答案 0 :(得分:2)

根据SolrNet Wiki Page on Querying,请尝试使用SolrQueryByField方法:

  

它还有一个好处,它可以为你处理特殊字符转义。

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

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