elasticsearch ==检查两个字段elasticsearch
我有一个场景,比如需要检查两个字段是否相等。 假设我有一个带有映射的索引my_indexelasticsearch ==检查两个字段elasticsearch,elasticsearch,scripting,compare,equality,elasticsearch,Scripting,Compare,Equality,我有一个场景,比如需要检查两个字段是否相等。 假设我有一个带有映射的索引my_index "field_one": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 }, "regexkeyword": { "ty
"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\u one
和field\u 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"
}
}
}
您的映射有“field_one”和“field_two”,但您的查询引用了“field_one”和“field_two”。@Adam这可能是一个拼写错误,但字段被正确引用。这两个语法给出了相同的结果,但不是预期的数据。