Lucene查询将比较两个字段的位置

时间:2016-10-04 12:11:50

标签: lucene grafana

我有一个弹性搜索群集。群集中的所有文档都具有相同的索引和类型。每个文档都有两个数字字段 - > field1和field2。

我想在Grafana中显示所有文档,其中value of field1 > value of field2

是否有类似的查询:

document_type:test AND field1 > field2 ?

2 个答案:

答案 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中可用内容的更多文档。