Lucene在Sitecore中搜索;没有结果返回

时间:2016-01-24 11:06:23

标签: c# search lucene sitecore sitecore8

我有一个完全正常生成的索引(可以通过所有创建的项目浏览Luke)。在Luke中进行了查询,甚至设法返回结果 - 在C#中的以下代码中实现但不返回。有什么明显的东西让我失踪。

A
在Search.Log中

我得到以下命中

  

ExecuteQueryAgainstLucene(custom_search_index):_ name:1980s~0.75 excerpt:1980s searchtags:1980s htmlcontent:1980s - Filter:

如果我运行'_name:1980s~0.75摘录:1980年代搜索标签:1980年代h​​tmlcontent:20世纪80年代在卢克我得到了一个结果!

3 个答案:

答案 0 :(得分:1)

大多数情况下,这表明索引已过时。例如,结果指出的项目已被删除或尚未发布。重建索引应该导致Luke和Sitecore返回相同的内容。

另外,请检查您的传呼是否排除结果。也许在没有分页的情况下先尝试一下。

答案 1 :(得分:1)

从其他评论中,您似乎正在使用page = 1来获取结果的第一页。

但是page参数是从零开始的,这意味着如果你想要第一页你必须使用0。

// This will return the first 5 results (page 1)
query.Page(0, 5).GetResults();

// This will return the next 5 results (page 2)
query.Page(1, 5).GetResults();

这可以通过查看Page(..)扩展方法的代码来验证:

return Queryable.Take<TSource>(Queryable.Skip<TSource>(source, page * pageSize), pageSize);

答案 2 :(得分:0)

所以,如果我使用以下代码:

var results = query.Page(page, itemsPerPage).GetResults();

其中page为1且itemsPerPage为5,但我的过滤结果只返回一个值(或者少于itemsPerPage)GetResults()不返回任何结果!