2012-09-05 60 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+"));