我使用的是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
谢谢!
最佳答案
如果您可以使用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"
}
}
}
}
}
}
关于elasticsearch - 查询字符串查询-两个字段必须匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523012/