user48545
user48545

Reputation: 3441

What is the ElasticSearch equivalent for an SQL subquery?

Can you nest queries logically in ElasticSearch, so the output of one query is the input to another query. Another, way to ask is how can I chain or pipe queries together?

This should be analogous to the IN operator or subqueries in SQL

i.e.:- select au_lname, au_fname, title from (select au_lname, au_fname, au_id from pubs.dbo.authors where state = 'CA') or

SELECT Name FROM AdventureWorks2008R2.Production.Product WHERE ListPrice = (SELECT ListPrice FROM AdventureWorks2008R2.Production.Product WHERE Name = 'Chainring Bolts' );

Upvotes: 24

Views: 29068

Answers (3)

Sebastian Viereck
Sebastian Viereck

Reputation: 5923

That is totally correct, you must programm a subquery in your favorite programming language. An example can be found here:

https://sebastianviereck.de/elasticsearch-subquery-scoring-optimization/

Upvotes: -3

reihaneh
reihaneh

Reputation: 325

this is not supported in elastic-search you must normalize your data and have all field you need in one setting

Upvotes: 0

Chris Heald
Chris Heald

Reputation: 62698

Elasticsearch doesn't support subqueries; you would need to perform your first query, then construct a second query using the results of the first query as an input.

Upvotes: 28

Related Questions