首页 > 解决方案 > Umbraco 8 检查/Lucene 查询在代码中未返回任何结果,但从后台搜索按预期工作

问题描述

我正在尝试在新的 Umbraco 8 站点(8.13.0,Examine 1.1,Lucene.Net 3.0.3)中进行简单的 Lucene 查询。

我正在尝试获取特定类型的所有文档,但没有得到任何结果。

ExamineManager.Instance.TryGetIndex(Constants.UmbracoIndexes.ExternalIndexName, out var index);
var searcher = index.GetSearcher();
var query = searcher.CreateQuery()
                    .NodeTypeAlias(BlogPost.ModelTypeAlias);
var result = query.Execute();

var rawQuery = query.ToString(); // == "{ Category: , LuceneQuery: +__NodeTypeAlias:blogpost }"

// result.Results.Count == 0
// result.TotalItemCount == 3
// result.TopDocs.TotalHits == 3

如果我采用原始 Lucene 查询+__NodeTypeAlias:blogpost并将其粘贴在 Umbraco 的检查管理中的搜索字段中,我会按预期得到 3 个结果:

在此处输入图像描述

为什么它不能从代码中工作?(我究竟做错了什么?)

标签: lucene.netumbraco8examine

解决方案


推荐阅读