我正在使用ElasticSearch 5.1,我想知道是否可以构建查询字符串查询,该查询将匹配字段field_1
和field_2
相同的所有记录。
在执行查询时,我不知道它们存储了什么值。我所知道的是映射keyword
。
例如数据:
{"id": 1, "field_1": "foo", "field_2": "foo"}
{"id": 2, "field_1": "foo", "field_2": "bar"}
当我执行此类查询时,我希望只获取ID为1的记录,因为field_1
=== field_2
谢谢!
答案 0 :(得分:1)
如果您可以使用query string
之外的其他查询,那么script query
来自https://www.elastic.co/guide/en/elasticsearch/reference/5.5/query-dsl-script-query.html
GET /_search
{
"query": {
"bool" : {
"must" : {
"script" : {
"script" : {
"inline": "doc['field_1'].value == doc['field_2'].value"
}
}
}
}
}
}