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

时间:2017-08-09 17:47:19

标签: .net elasticsearch nest

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

我们正在从更旧版本升级,之前我们使用过StringPropertyDescriptor.Index(Index.NotAnalyzed)。我们无法再这样做,而且必须改为.Index(true),因此该字段可供搜索。

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

那么,我们如何映射一个字段以便被编入索引但是不在_all字段/全局搜索中?

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

1 个答案:

答案 0 :(得分:2)

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),因为这是默认行为。