gpt4 book ai didi

ElasticSearch null_value 与对象?

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

是否可以将对象用于 null_value在 ElasticSearch 中映射?

{
"properties-v3": {
"mappings": {
"property": {
"properties": {
// ... omitting lots of properties for brevity
"stats": { // <-- Need to populate this if null
"properties": {
"bookings": {
"type": "long",
"null_value": 0
},
"enquiries": {
"type": "long",
"null_value": 0
},
"favorites": {
"type": "long",
"null_value": 0
},
"pageViews": {
"type": "long",
"null_value": 0
}
}
},
// ... more properties here
}
}
}
}
}

如果 stats上面映射中的属性为空,我想创建一个对象,其属性根据其 null_value 映射填充。在基础属性上指定 null_value 似乎不起作用。

ElasticSearch 是否允许对象的 null_value 映射?

最佳答案

首先,让我们看看 null_value 做了什么。对于字段 name ,如果将 null_value 设置为某个值,则不会将此信息添加到 _source ,而是将此值转到反向索引。这意味着您可以根据 null_value 进行搜索,但它不会显示在 _source 中。

举个例子,假设我正在索引以下文档 -

{
"class" : "10m
"address" : "abcs"
}

在这里,让我们说,对于字段名称,我们已将 null_value 启用为“John”
现在,如果我执行以下查询 -
{
"query" : {
"match" : {
"name" : "john"
}
}
}

即使它没有值为 john 的字段名称,它也会匹配先前的文档。但随后在返回的文档中不会显示此值。这意味着 _source 无论如何都没有改变,只是我们正在改变整个上下文的搜索能力行为。

现在回到你的问题——如果你想把 null_value 放到一个对象上,比如说,
对于字段名称,将以下对象作为 null_value
{
"first_name" : "john",
"last_name" : "dep"
}

然后,可能将 null_value 分配给两个字段 name.first_name 和 name.last_name 分别为 john 和 dep。

关于ElasticSearch null_value 与对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29840837/

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