gpt4 book ai didi

.net - IncludeInAll(...)的替代品是什么?

转载 作者:行者123 更新时间:2023-12-02 22:48:58 25 4
gpt4 key购买 nike

使用Elasticsearch.NET/NEST v5.5,我需要索引Id(GUID)字段以直接搜索,但不希望对它们进行分析或将其包含在全局(_all)搜索中。

我们正在从一个较旧的版本进行升级,并且之前使用了StringPropertyDescriptor.Index(Index.NotAnalyzed)。我们不再能够这样做,而必须改为.Index(true),因此该字段可用于搜索。

但是我们不希望在全局/ _all搜索期间使用该字段,因此,我们将使用.IncludeInAll(false),但这被标记为deprecated和has already been removed from the source

因此,我们如何映射字段,以便将索引为,但不在_all字段/全局搜索中?

当前尝试
properties.Keyword(p => p
.Name(o => o.SomeId)
.IncludeInAll(false) // Deprecated!
.Index(true));

最佳答案

IncludeInAll()已在master分支中删除,因为the _all field is to be removed in Elasticsearch 6.0。建议是,如果您当前正在使用_all字段,并且希望在6.0+中实现类似的功能,则应使用 copy_to fields将要搜索的任何字段复制到自己专用的全似字段中。

在从其构建NEST 5.x的Obsolete分支中将其标记为5.x,以便客户消费者知道这一即将发生的变化。

您当前的尝试是正确的;您可以根据需要删除.Index(true),因为这是默认行为。

关于.net - IncludeInAll(...)的替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45597450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com