使用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));
答案 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)
,因为这是默认行为。