2015-07-10 60 views
1

我試圖在Sitecore 7.5中使用ContentSearch.LINQ庫並使用模糊搜索來實現自定義搜索。對於只包含字母字符和空格的字符串,它就像一個魅力,即「cxlcium」將返回「」的結果。然而,這樣做的最終目標更多的是保護免受常見的拼寫錯誤 - 「聖約翰草」應退回「聖約翰草」。有趣的是,「聖約翰草」將返回零結果,完全匹配將拋出一個例外,由於單引號(我假設可能需要逃脫,但它的工作沒有問題StartsWithContains類型搜索)。我曾嘗試將minimumSimilarity值上下移動無效。Sitecore ContentSearch LIKE運算符在非字母字符上失敗

對於它的價值,這也是通過Coveo索引而不是Lucene。 在此先感謝您的任何見解。

代碼如下:

 var productResults = context.GetQueryable<SearchResultItem>() 
      .Where(x => x["productname"].Like(searchQuery, .7f) 
      .Take(10) 
      .OrderBy(x => x["productname"]) 
      .GetResults(); 
+0

你錯過了一個')''你以後Like',順便說一句。可能只是一個複製錯誤SO – DLeh

回答