我有需要检查两个字段是否相等的情况。 假设我有一个带有映射的索引 my_index
"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
答案 0 :(得分:0)
我认为语法是,但是我没有在ES .X中进行实例测试
SELECT c.cal_procedure ,
c.description ,
c.active ,
c.create_user ,
c.create_date ,
c.edit_user ,
c.edit_date ,
c.id,
(SELECT COUNT(*) FROM cal_procedure_docs where cal_procedure = c.cal_procedure) AS cpd
FROM cal_procedure c