标签: elasticsearch
假设我有以下字段的文档: {field1, field2, ... fieldn}
{field1, field2, ... fieldn}
我需要运行一些查询,其中某些条件需要在两个或多个字段之间进行比较。比如fieldX = fieldY
fieldX = fieldY
在标准SQL中,一个例子可能是:
SELECT * FROM Table1 WHERE farePrice>100 AND originRegion = destinationRegion
我一直在阅读一些文档,看起来“脚本”可能是实现这一目标的唯一方法吗?或者还有其他选择吗?
答案 0 :(得分:30)
您可以使用脚本过滤器 -
{ "filtered": { "query": { "range": { "farePrice": { "gt": 100 } } }, "filter": { "script": { "script": "doc['originRegion'].value == doc['destinationRegion'].value" } } } }
您可以在here和here找到更多信息。