我有一個elasticsearch集羣。集羣中的所有文檔都具有相同的索引和類型。每個文檔都有兩個數字字段 - > field1和field2。Lucene查詢兩個字段將被比較
我想顯示格拉法納所有文件,其中value of field1 > value of field2
。
有一個查詢,如:
document_type:test AND field1 > field2 ?
我有一個elasticsearch集羣。集羣中的所有文檔都具有相同的索引和類型。每個文檔都有兩個數字字段 - > field1和field2。Lucene查詢兩個字段將被比較
我想顯示格拉法納所有文件,其中value of field1 > value of field2
。
有一個查詢,如:
document_type:test AND field1 > field2 ?
據我所知是沒有辦法使用elasticsearch(lucene的)執行那種查詢。它支持範圍查詢,但不支持文檔中不同字段之間的比較。
您可以用(常規)script query,這樣做:
{
"query" : {
"term" : {
"document_type" : "test"
}
},
"filter" : {
"script" : {
"script" : "doc['field1'].value > doc['field2'].value"
}
}
}
另見,對什麼是可從Elasticsearch scripting module更多的文檔。
這聽起來不錯。我可以用grafana使用這種查詢嗎? – CPA
@CPA - 不知道。我知道Lucene和Elasticsearch,而不是Grafana。 – femtoRgon