我有一个弹性搜索群集。群集中的所有文档都具有相同的索引和类型。每个文档都有两个数字字段 - > field1和field2。
我想在Grafana中显示所有文档,其中value of field1 > value of field2
。
是否有类似的查询:
document_type:test AND field1 > field2 ?
答案 0 :(得分:2)
据我所知,没有办法使用elasticsearch(lucene)执行那种查询。它支持范围查询,但不支持文档中不同字段之间的比较。
答案 1 :(得分:2)
您可以使用(groovy)script query执行此操作,如下所示:
{
"query" : {
"term" : {
"document_type" : "test"
}
},
"filter" : {
"script" : {
"script" : "doc['field1'].value > doc['field2'].value"
}
}
}
另请参阅有关Elasticsearch scripting module中可用内容的更多文档。