我試圖在Sitecore 7.5中使用ContentSearch.LINQ庫並使用模糊搜索來實現自定義搜索。對於只包含字母字符和空格的字符串,它就像一個魅力,即「cxlcium」將返回「鈣」的結果。然而,這樣做的最終目標更多的是保護免受常見的拼寫錯誤 - 「聖約翰草」應退回「聖約翰草」。有趣的是,「聖約翰草」將返回零結果,完全匹配將拋出一個例外,由於單引號(我假設可能需要逃脫,但它的工作沒有問題StartsWith
或Contains
類型搜索)。我曾嘗試將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();
你錯過了一個')''你以後Like',順便說一句。可能只是一個複製錯誤SO – DLeh