c# - Umbraco 检查 - 查询问题

标签 c# lucene umbraco umbraco7 examine

我使用 Examine 检索的对象具有以下数据值(image link 以便于查看):

__Icon: icon-shopping-basket-alt-2 color-red __IndexType: content __NodeId: 1413 __NodeTypeAlias: sale __Path: -1,1098,1410,1413 id: 1413 nodeName: Sale test 1 (active) nodeTypeAlias: Sale path: 1098 1410 1413 saleEndDate: 20151231160336000 saleStartDate: 20151026160321000 updateDate: 2015-11-18T17:03:05 writerName: Admin

path 属性是 __Path 的剥离版本。这样做是因为以 -1 开始查询并将逗号作为查询值存在问题。

我遇到的问题与必须查询 path 的一部分有关,例如 - 检索包含所需 ID 的对象(在特定情况下只是1410)。

我在 UmbracoExamine Manager 中执行了以下查询:+nodeTypeAlias: sale +path:1468

C# 代码示例如下所示:

var queryAllSalesInDepartment = searchCriteria
                                        .Field(Constant.Examine.AttributeFields.NodeTypeAlias, Constant.DocumentTypeAlias.Sale)
                                        .And().Field(Constant.Examine.AttributeFields.Path, Umbraco.AssignedContentItem.Parent.Id.ToString())
                                        .Compile();

尽管索引中有可用值,但查询产生 0 个结果。

我是在做查询错误还是应该重新考虑以不同方式格式化路径值?

最佳答案

是的,查询需要“更模糊”:-s 你可以(在我看来)像这样难以阅读的方式:https://our.umbraco.org/forum/developers/extending-umbraco/11659-Examine-quering-path或者像这样的原始查询方式:

searchCriteria.RawQuery(@"+path:\-1*" + parentId + "*");

parentId 在您的示例中为 1410。

关于c# - Umbraco 检查 - 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33798937/

相关文章:

c# - 将数字放入范围 C#

c# - 在运行时更改 EF Core 上下文的连接字符串

solr - SimplePosttool : FATAL: specifying either url or core/collection is mandatory

java - 如何从 Lucene 索引中排除数字?

c# - Umbraco ?umbDebugShowTrace=true 不工作

c# - 无法使用 AutoCompleteBox WebForm 获取 DataValueField

c# - 无法使用谷歌通过反向地理编码检索街道、城市和国家/地区对于澳大利亚地址

sql - 返回统计信息而不是点击的关键字搜索引擎

redirect - Umbraco 自定义 404 错误页面不起作用

.net - CMS 类似于 Umbraco 但在 PHP 中?