【发布时间】:2014-06-16 09:55:19
【问题描述】:
在 Sitecore lucene 搜索中,我使用“术语查询”来过滤来自 sitecore 的数据。 在这里,我在 Sitecore 中有一个名为“描述”的字段,我想根据术语“Lorem”进行归档。但每次我得到 0 结果。如果我不使用 rterm 查询,我会得到所有结果,这意味着我的索引配置是正确的。请帮忙。
TermQuery bothQuery = new TermQuery (new Term("Description", "Lorem"));
BooleanQuery query = new BooleanQuery();
query.Add(bothQuery, BooleanClause.Occur.MUST);
TopDocs topDocs = sc.Searcher.Search(query, int.MaxValue);
SearchHits searchHits = new SearchHits(topDocs, sc.Searcher.GetIndexReader());
return searchHits.FetchResults(0, int.MaxValue).Select(r => r.GetObject<Item>()).ToList();
【问题讨论】:
-
描述字段是否被标记?
-
您需要修改您的索引配置。 Martin 是对的,该字段确实需要标记化才能使您的查询正常工作。还要记住,TermQuery 区分大小写。如果您发布有关如何配置索引的更多信息,我们也许可以为您提供更多答案。
-
嗨,马克,我正在发布我的配置设置。请让我知道它是正确的