1
Если у меня есть родительское картирование ребенка в упругом поиске. Как я буду искать родителей на основе статистики своих детей.Поиск ребенка-родителя в elasticsearch
Пример:
{
'parent':{
'_id':{
'path':'parent_id'
},
'properties':{
'parent_id':{
'type':'string'
},
'name':{
'type':'string'
},
'job':{
'type':'string'
},
'age':{
'type':'integer'
},
}
}
}{
'child':{
'_parent':{
'type':'parent'
},
'_id':{
'path':'child_id'
},
'properties':{
'child_id':{
'type':'string'
},
'name':{
'type':'string'
},
'favorite_toy':{
'type':'string'
},
'age':{
'type':'integer'
},
}
}
}
Как бы я:
- получить все родители, которые ребенок с именем 'боб'?
- подсчитать всех родителей, у которых есть ребенок по имени «боб»?
- получить всех родителей, у которых более двух детей?
- получить всех родителей, имеющих 2 детей старше 5 лет?
Спасибо большое, я думаю, мне просто нужно обновить родителей с помощью определенных полей, например «количество детей», когда я проиндексирую потом детей. – eran
@imotov привет Игорь, меня интересует №3 оригинального вопроса, мне было интересно, было ли это реализовано с момента вашего сообщения. Пожалуйста, дайте мне знать –
@ user1631616 он не реализован, но если вы не заботитесь о релевантности, вы можете подделать его с помощью [constant_score] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query -dsl-constant-score-query.html) для детей (так что все дети возвращают результат, используя 'sum' [score_type] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query -dsl-has-child-query.html # _scoring_capabilities) и установив [min_score] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-min-score.html) до 2 – imotov