Comment faire une jointure dans Elasticsearch — ou au niveau de Lucene

Quelle est la meilleure façon de faire l'équivalent d'une jointure SQL dans Elasticsearch?

J'ai un programme d'installation de SQL avec deux grandes tables: des Personnes et des Objets.
Une Personne peut posséder de nombreux éléments.
La fois la Personne et les lignes de poste peut changer (c'est à dire être à jour).
J'ai exécuter des recherches qui filtre par les aspects de la personne et de l'objet.

Dans Elasticsearch, il semble que vous pouvez faire de la Personne un imbriquée document de l'Élément, puis utilisez has_child.

Mais: si vous mettez ensuite à jour d'une Personne, je pense que vous auriez besoin de mettre à jour chaque Article qu'ils possèdent (qui pourrait être beaucoup).

Est-ce exact?
Est-il une bonne façon de résoudre cette question dans Elasticsearch?

Juste une petite question de terminologie: si vous utilisez le has_child, la personne serait un enfant de document, pas un imbriqués l'un (parent/enfant vs documents imbriqués).
peut-on utiliser ElasticSearch Ruche connecteur de faire une opération de JOINTURE de la Ruche sur ElasticSearch banque de données ? - github.com/elastic/elasticsearch-hadoop

OriginalL'auteur Daniel Winterstein | 2013-10-22