Browse Source

Docs: Clarified the purpose of the parent_id query

Clinton Gormley 9 years ago
parent
commit
acec464eb8
1 changed files with 23 additions and 11 deletions
  1. 23 11
      docs/reference/query-dsl/parent-id-query.asciidoc

+ 23 - 11
docs/reference/query-dsl/parent-id-query.asciidoc

@@ -3,19 +3,33 @@
 
 added[5.0.0]
 
-The `parent_id` query can be used to find a child document pointing to a particular parent id.
+The `parent_id` query can be used to find child documents which belong to a particular parent:
 
-The actual underlying Lucene field that is used to store to what parent id a child document is referring to
-is determined by the child type's `_parent` field. This query helps by selecting the right field based
-on the specified child type. Example:
+[source,js]
+--------------------------------------------------
+{
+  "parent_id" : {
+    "type" : "blog_tag",
+    "id" : "1"
+  }
+}
+--------------------------------------------------
+
+The above is functionally equivalent to using the following
+<<query-dsl-has-parent-query, `has_parent`>> query, but performs
+better as it does not need to do a join:
 
 [source,js]
 --------------------------------------------------
 {
-    "parent_id" : {
-        "type" : "blog_tag",
-        "id" : "1"
+  "has_parent": {
+    "type": "blog",
+    "query": {
+      "term": {
+        "_id": "1"
+      }
     }
+  }
 }
 --------------------------------------------------
 
@@ -24,8 +38,6 @@ on the specified child type. Example:
 This query has two required parameters:
 
 [horizontal]
-`type`::
-The child type. This must be a type with `_parent` field.
+`type`::  The **child** type. This must be a type with `_parent` field.
 
-`id`::
-The required parent id select documents must referrer to.
+`id`::    The required parent id select documents must referrer to.