On Thu, Oct 25, 2012 at 10:38 PM, Mike email@example.com wrote:
Is the only benefit of nested types that it's more performant than
parent/child since you have the full relationship at index time? If not,
what other benefits does the nested block join provide over it?
They should perform better when the components are joined, yes.
Although I haven't specifically tested that. Maybe someone else can
bring some "hard data".
With nested docs it's easy to get the whole document that matches a
certain query. And it's easier to do queries and facets when you need
values from different "levels". For example, by default when you
search in "_all" you get results from everywhere.
Does parent/child solve the "cross object" false positives that nested types
Yes, you shouldn't get such cross-references.
Is parent/child equivalent to the query time join released in Solr 4.0?
They seem pretty similar, indeed, although there are some differences.
Here's what I see:
- in Elasticsearch you define the relationship in the mapping, while
in Solr you do it at query-time. That should make the ES approach
faster and the Solr approach more flexible
- in ES, a parent and its children rely on the same shard
- in Solr, a "child" may have multiple "parents"
http://sematext.com/ -- ElasticSearch -- Solr -- Lucene