无法使用'关键字'进行搜索在LINQ?

时间:2015-10-12 04:09:17

标签: linq sitecore lucene.net sitecore8

目前我正在使用LINQ for Sitecore搜索内容编写查询。有一个奇怪的是,我无法使用'来搜索带有关键字'的内容。每个人都有这个想法吗?

using (var searchContext = index.CreateSearchContext())
        {
            var result = searchContext.GetQueryable<SearchResultItem>()
                            .Where(w =>
                                w.Content.Contains(searchText)
                            );
        }

结果是空的,我也尝试过运营商&#39;喜欢&#39; (w.Content.Lile)但结果为空。

2 个答案:

答案 0 :(得分:0)

我不熟悉Lucene.net / sitecore,但是“with”可能是一个停用词,而Lucene在索引文档时会将其删除。尝试在查询中包含一些其他关键字,看看是否得到了结果。有关停用词的更多详细信息,请参阅What is the default list of stopwords used in Lucene's StopFilter?

答案 1 :(得分:0)

代码看起来很好,我唯一能看到导致问题的是案例问题。试试这个:

x.Content.ToUpper().Contains(searchText.ToUpper())

另外,不确定Lucene.Net实现,但这看起来像简单的Linq-SQL或EF,而.Contains()方法是在本地而不是远程执行。