r-k
r-k

Reputation: 65

Elastic Search parent with same type

Sorry if this is a duplicate (I did try searching), or if this is a silly question. New to posting questions.

I am trying to do parent child relations and queries in ElasticSearch with the following:

    #!/bin/bash

curl -XDELETE 'http://localhost:9200/test/'
echo

curl -XPUT 'http://localhost:9200/test/' -d '{
"settings" : {
        "index" : {
            "number_of_shards" : 1
        }
    }
}'
echo

curl -XPUT localhost:9200/test/_mapping/nelement -d '{
        "nelement" : {
            "_id" : { "path" : "nid", "store" : true, "index" : "not_analyzed"},
            "_parent" : { "type" : "nelement"},
            "properties" : {
                "name" : { "type" : "string",  "index" : "not_analyzed" },
                "nid": { "type" : "string", "copy_to" : "_id" }
            }
        }
}'
echo

#curl -s -XPOST localhost:9200/_bulk --data-binary @test_data.json
test_data.json is as follows:
{"index":{"_index":"test","_type":"element", "_parent":"abc"}
{"nid":"1a","name":"parent1"}
{"index":{"_index":"test","_type":"element", "_parent":"1a"}
{"nid":"2b","name":"child1"}
{"index":{"_index":"test","_type":"element", "_parent":"2b"}
{"nid":"2c","name":"child2"}


curl -XGET 'localhost:9200/test/nelement/_search?pretty=true' -d '{

 "query": {
    "has_child": {
      "child_type": "nelement", 
      "query": {
        "match": {
          "nid": "2c"
        }
      }
    }
  }

}'



echo
echo
curl -XGET 'localhost:9200/test/nelement/_search?pretty=true' -d '{

 "query": {
    "has_parent": {
      "type": "nelement", 
      "query": {
        "term": {
          "nid": "2b"
        }
      }
    }
  }

}'

For some reason, my search queries get no results. I have confirmed that the objects are indexed....

Upvotes: 6

Views: 881

Answers (1)

chengpohi
chengpohi

Reputation: 14217

Because you are using self referential(set parent and query in the same index type) to parent/child query.

For now Elasticsearch is not supporting it.

Explore parent/child self referential support

Upvotes: 3

Related Questions