我有一个完全正常生成的索引(可以通过所有创建的项目浏览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年代htmlcontent:20世纪80年代在卢克我得到了一个结果!
答案 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()不返回任何结果!