elasticsearch/docs/reference/query-dsl
Martijn van Groningen 1cfb6a79f1 Parent/child: refactored _parent field mapper and parent/child queries
* Cut the `has_child` and `has_parent` queries over to use Lucene's query time global ordinal join. The main benefit of this change is that parent/child queries can now efficiently execute if parent/child queries are wrapped in a bigger boolean query. If the rest of the query only hit a few documents both has_child and has_parent queries don't need to evaluate all parent or child documents any more.
* Cut the `_parent` field over to use doc values. This significantly reduces the on heap memory footprint of parent/child, because the parent id values are never loaded into memory.

Breaking changes:
* The `type` option on the `_parent` field can only point to a parent type that doesn't exist yet, so this means that an existing type/mapping can't become a parent type any longer.
* The `has_child` and `has_parent` queries can no longer be use in alias filters.

All these changes, improvements and breaks in compatibility only apply for indices created with ES version 2.0 or higher. For indices creates with ES <= 2.0 the older implementation is used.

It is highly recommended to re-index all your indices with parent and child documents to benefit from all the improvements that come with this refactoring. The easiest way to achieve this is by using the scan and bulk apis using a simple script.

Closes #6107
Closes #8134
2015-05-29 21:44:17 +02:00
..
and-query.asciidoc
bool-query.asciidoc
boosting-query.asciidoc
common-terms-query.asciidoc
constant-score-query.asciidoc
dis-max-query.asciidoc
exists-query.asciidoc
filtered-query.asciidoc
function-score-query.asciidoc
fuzzy-query.asciidoc
geo-bounding-box-query.asciidoc
geo-distance-query.asciidoc
geo-distance-range-query.asciidoc
geo-polygon-query.asciidoc
geo-shape-query.asciidoc
geohash-cell-query.asciidoc
has-child-query.asciidoc
has-parent-query.asciidoc
ids-query.asciidoc
index.asciidoc
indices-query.asciidoc
limit-query.asciidoc
match-all-query.asciidoc
match-query.asciidoc
minimum-should-match.asciidoc
missing-query.asciidoc
mlt-query.asciidoc
multi-match-query.asciidoc
multi-term-rewrite.asciidoc
nested-query.asciidoc
not-query.asciidoc
or-query.asciidoc
prefix-query.asciidoc
query-string-query.asciidoc
query-string-syntax.asciidoc
range-query.asciidoc
regexp-query.asciidoc
regexp-syntax.asciidoc
script-query.asciidoc
simple-query-string-query.asciidoc
span-containing-query.asciidoc
span-first-query.asciidoc
span-multi-term-query.asciidoc
span-near-query.asciidoc
span-not-query.asciidoc
span-or-query.asciidoc
span-term-query.asciidoc
span-within-query.asciidoc
template-query.asciidoc
term-query.asciidoc
terms-query.asciidoc
type-query.asciidoc
wildcard-query.asciidoc