Sitecore ContentSearch LIKE运算符在非字母字符上失败

时间:2015-07-10 13:24:53

标签: c# linq sitecore sitecore7

我正在尝试使用ContentSearch.LINQ库在Sitecore 7.5中实现自定义搜索,并使用模糊搜索。对于仅包含字母字符和空格的字符串,它就像一个魅力,即“ cxlcium ”将返回“”的结果。然而,最终的目标是防止常见的拼写错误 - “ St Johns Wort ”应该返回带有“圣约翰草”的项目。有趣的是,“St. Johns Wort”将返回零结果,并且完全匹配将因单引号而引发异常(我假设可能需要进行转义,尽管它在StartsWith上没有问题或Contains类型搜索)。我试过上下移动minimumSimilarity值无济于事。

对于它的价值,这也是通过Coveo索引而不是Lucene。 提前感谢任何见解。

代码如下:

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

1 个答案:

答案 0 :(得分:1)

使用Coveo提供的语音匹配扩展可能会更好。更多信息:

https://developers.coveo.com/display/public/SC201409/Coveo+LINQ+Extensions