== 检查两个字段 elasticsearch
== check on two fields elasticsearch
我有这样的场景需要检查两个字段是否相等。
假设我有一个索引 my_index with mapping
"field_one": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
},
"regexkeyword": {
"type": "keyword",
"normalizer": "lowercase_normalizer"
}
},
"analyzer": "simple"
},
"field_two": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
},
"regexkeyword": {
"type": "keyword",
"normalizer": "lowercase_normalizer"
}
},
"analyzer": "simple"
}
这里我需要写一个查询,通过匹配field_one
和field_two
来获取数据
这是我试过的
{
"script_fields": {
"adas": {
"script": {
"inline": "'field_one.keyword' == 'field_two.keyword'",
"lang": "painless"
}
}
}
注意:弹性版本:5.5.3
我认为语法是,但我在 ES .X 中没有实例来测试它
{
"script_fields": {
"adas": {
"script": {
"inline": "doc['field_one.keyword'].value == doc['field_two.keyword'].value",
"lang": "painless"
}
}
}
我有这样的场景需要检查两个字段是否相等。 假设我有一个索引 my_index with mapping
"field_one": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
},
"regexkeyword": {
"type": "keyword",
"normalizer": "lowercase_normalizer"
}
},
"analyzer": "simple"
},
"field_two": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
},
"regexkeyword": {
"type": "keyword",
"normalizer": "lowercase_normalizer"
}
},
"analyzer": "simple"
}
这里我需要写一个查询,通过匹配field_one
和field_two
来获取数据
这是我试过的
{
"script_fields": {
"adas": {
"script": {
"inline": "'field_one.keyword' == 'field_two.keyword'",
"lang": "painless"
}
}
}
注意:弹性版本:5.5.3
我认为语法是,但我在 ES .X 中没有实例来测试它
{
"script_fields": {
"adas": {
"script": {
"inline": "doc['field_one.keyword'].value == doc['field_two.keyword'].value",
"lang": "painless"
}
}
}