{
"query":{
"bool":{
"must":{
"match_all":{
}
},
"filter":[
{
"script":{
"source":"doc['id'].value == doc['_id'].value",
"lang":"painless"
}
}
]
}
},
"track_total_hits":true
}
因此doc['_id'].value
是导致错误的行。我应该如何比较字段值和_id值?
在普通文档中,“ _ id”是string
,“ id”是long
,但是我打断了一些,现在它们都为strings
,如何找到它们?< / p>
答案 0 :(得分:0)
我认为您的 id 字段类型为关键字,因此;您不能在没有doc['id'].value
的情况下致电.keyword
。
尝试一下:
"script": {
"script": {
"source": "doc['id.keyword'].value == doc['_id'].value",
"lang": "painless"
}
}