什么是SQL子查询的ElasticSearch等价物?

时间:2015-02-26 04:22:43

标签: elasticsearch

您可以在ElasticSearch中逻辑嵌套查询,因此一个查询的输出是另一个查询的输入。 另一种要问的方法是如何将查询链接或管道化?

这应该类似于SQL中的IN运算符或子查询

即: - 选择au_lname,au_fname,title from      (从pubs.dbo.authors中选择au_lname,au_fname,au_id           其中state =' CA') 或

SELECT Name 来自AdventureWorks2008R2.Production.Product 在哪里ListPrice =     (SELECT ListPrice      来自AdventureWorks2008R2.Production.Product      名称='链环螺栓' );

3 个答案:

答案 0 :(得分:15)

Elasticsearch不支持子查询;您需要执行第一个查询,然后使用第一个查询的结果作为输入构建第二个查询。

答案 1 :(得分:0)

这是完全正确的,您必须使用您喜欢的编程语言编写子查询。可以在这里找到一个例子:

http://www.sebastianviereck.de/en/elasticsearch-subquery-scoring-optimization/

答案 2 :(得分:0)

弹性搜索不支持此功能,您必须对数据进行规范化,并在一个设置中包含所需的所有字段