Я использую ElasticsearchRC 2.0.0.
У меня есть некоторые отношения между родителями и детьми в моей базе данных Elasticsearch. Я хочу получить все дочерние элементы, связанные с родительским объектом. Я всегда получаю пустой список результатов. Я следовал инструкциям документации elasticsearch и сравнивал свой код с несколькими книгами. Я не понимаю, почему мой запрос должен возвращать пустой результат.
В этом случае я построил упрощенный пример. Я помещаю два объекта в elasticsearch и устанавливаю объект a в качестве родителя объекта b. Затем я пытаюсь получить все объекты, у которых есть родитель типа a.
Это мой ввод:
PUT test
PUT test/myobject/_mapping
{
"myobject":{
"_parent" : {"type":"pobject"},
"properties" : {
"name" : {"type":"string"}
}
}
}
PUT test/pobject/_mapping
{
"pobject" : {
"properties": {
"name": {"type":"string"}
}
}
}
PUT test/pobject/1
{
"name":"theParent"
}
PUT test/myobject/1?_parent=1&routing=_id
{
"name":"theChild"
}
POST test/myobject/_search?routing=_id
{
"query":{
"has_parent":{
"type":"pobject",
"query":{
"match_all":{}
}
}
}
}
Это вернет
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}