elasticsearch ElasticSearch对象的空值?
是否可以在ElasticSearch中使用对象作为elasticsearch ElasticSearch对象的空值?,elasticsearch,mapping,elasticsearch,Mapping,是否可以在ElasticSearch中使用对象作为null\u值映射 { "properties-v3": { "mappings": { "property": { "properties": { // ... omitting lots of properties for brevity "stats": { // <-- Need to populate this
null\u值
映射
{
"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
}
}
}
}
}
{
“properties-v3”:{
“映射”:{
“财产”:{
“财产”:{
//…为了简洁,省略了许多属性
“stats”:{/首先,让我们看看空值的作用。对于字段,name,如果有空值设置为某个值,它不会将此信息添加到_源,而是将此值添加到反向索引。这意味着您可以基于空值进行搜索,但它不会显示在_源中
为了找出一个例子,假设我正在为以下文档编制索引-
{
"class" : "10m
"address" : "abcs"
}
在这里,我们为字段名启用了null_值作为“John”
现在,如果我执行以下查询-
{
"query" : {
"match" : {
"name" : "john"
}
}
}
它将匹配上一个文档,即使它没有值为john的字段名。但在返回的文档中,该值不会显示。这意味着_source无论如何不会更改,只是我们正在更改整个上下文的搜索能力行为
现在回到你的问题-如果你想给一个对象设置null_值,
对于字段名,将以下对象作为null\u值
{
"first_name" : "john",
"last_name" : "dep"
}
然后,可以将null值分别指定给name.first\u name和name.last\u name这两个字段作为john和dep。否您不能将null值
与类型:object一起使用。
但是field\u value\u factor
有一个选项missing
检查文档
如果文档没有该字段,则使用该值。修饰符和
因子仍然应用于它,就好像它是从
文件
谢谢你的回答。我的问题是,我想使用一个带有字段值因子的函数值,但是如果只有一个文档的stats
为空,那么整个查询都会失败。我想没有办法了吧?