Elasticsearch(ES)中如何编写像SQL脚本中的AND与OR的组合DSL查询语句呢?
2.46K 次浏览
在关系型数据库(如:SQL Server,MySQL,SQLite,Oracle,PostgreSQL等)中,如果要在查询条件中同时进行AND和OR的组合,则可以使用括号进行优先级的组合,如下:
SELECT * FROM my_table
WHERE
((name=foo AND name=bar) OR (info=foo AND info=bar))
AND state=1
但在Elasticsearch(ES)搜索引擎数据库中的DSL查询语句中,不能像以上写法那样使用括号进行AND与OR的组合查询条件。
现在,如果要在Elasticsearch(ES)的DSL查询中实现上面SQL脚本同样的查询条件,DSL查询语句应该如何写呢?