How to do a join in Elasticsearch — or at the Lucene level
What's the best way to do the equivalent of an SQL join in Elasticsearch? I have an SQL setup with two large tables: Persons and Items. A Person can own many items. Both Person and Item rows can change (i.e. be updated). I have to run searches which filter by aspects of both the person and the item. In Elasticsearch, it looks like you could make Person a nested document of Item, then use has_child . But: if you then update a Person, I think you'd need to update every Item they own (which could be a lot). Is that correct? Is there a nice way to solve this query in Elasticsearch? As already