目前我正在使用LINQ for Sitecore搜索内容编写查询。有一个奇怪的是,我无法使用'来搜索带有关键字'的内容。每个人都有这个想法吗?
using (var searchContext = index.CreateSearchContext())
{
var result = searchContext.GetQueryable<SearchResultItem>()
.Where(w =>
w.Content.Contains(searchText)
);
}
结果是空的,我也尝试过运营商&#39;喜欢&#39; (w.Content.Lile)但结果为空。
答案 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()方法是在本地而不是远程执行。