Reader small image

You're reading from  ElasticSearch Cookbook

Product typeBook
Published inDec 2013
Reading LevelBeginner
PublisherPackt
ISBN-139781782166627
Edition1st Edition
Languages
Right arrow
Author (1)
Alberto Paro
Alberto Paro
author image
Alberto Paro

Alberto Paro is an engineer, manager, and software developer. He currently works as technology architecture delivery associate director of the Accenture Cloud First data and AI team in Italy. He loves to study emerging solutions and applications, mainly related to cloud and big data processing, NoSQL, Natural language processing (NLP), software development, and machine learning. In 2000, he graduated in computer science engineering from Politecnico di Milano. Then, he worked with many companies, mainly using Scala/Java and Python on knowledge management solutions and advanced data mining products, using state-of-the-art big data software. A lot of his time is spent teaching how to effectively use big data solutions, NoSQL data stores, and related technologies.
Read more about Alberto Paro

Right arrow

Using the has_child query/filter


ElasticSearch does not provide only simple documents, but it lets you define a hierarchy based on parent and child. The has_child query allows querying for parent documents of which the children verify some queries.

Getting ready

You need a working ElasticSearch cluster and the data populated with the populate script.

How to do it...

For executing the has_child query/filter, we need to perform the following steps:

  1. We need to search the test-type parents of which the test-type2 children have a term in the field value as value1. We can create this kind of query as follows:

    curl -XPOST 'http://127.0.0.1:9200/test-index/test-type/_search' -d '{
        "query": {
                "has_child" : {
                    "type" : "test-type2",
                    "query" : {
                        "term" : {
                            "value" : "value1"
                        }
                    }
                }
            }
        }
    }'
  2. If scoring is not important, it's better to reformulate the query as a...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
ElasticSearch Cookbook
Published in: Dec 2013Publisher: PacktISBN-13: 9781782166627

Author (1)

author image
Alberto Paro

Alberto Paro is an engineer, manager, and software developer. He currently works as technology architecture delivery associate director of the Accenture Cloud First data and AI team in Italy. He loves to study emerging solutions and applications, mainly related to cloud and big data processing, NoSQL, Natural language processing (NLP), software development, and machine learning. In 2000, he graduated in computer science engineering from Politecnico di Milano. Then, he worked with many companies, mainly using Scala/Java and Python on knowledge management solutions and advanced data mining products, using state-of-the-art big data software. A lot of his time is spent teaching how to effectively use big data solutions, NoSQL data stores, and related technologies.
Read more about Alberto Paro