mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-27 02:18:42 +00:00
[DOCS] Reformat parent_id
query docs (#44449)
This commit is contained in:
parent
804476c35d
commit
1f5a2ac3ad
@ -4,68 +4,113 @@
|
||||
<titleabbrev>Parent ID</titleabbrev>
|
||||
++++
|
||||
|
||||
The `parent_id` query can be used to find child documents which belong to a particular parent.
|
||||
Given the following mapping definition:
|
||||
Returns child documents <<parent-join,joined>> to a specific parent document.
|
||||
You can use a <<parent-join,join>> field mapping to create parent-child
|
||||
relationships between documents in the same index.
|
||||
|
||||
[[parent-id-query-ex-request]]
|
||||
==== Example request
|
||||
|
||||
[[parent-id-index-setup]]
|
||||
===== Index setup
|
||||
To use the `parent_id` query, your index must include a <<parent-join,join>>
|
||||
field mapping. To see how you can set up an index for the `parent_id` query, try
|
||||
the following example.
|
||||
|
||||
. Create an index with a <<parent-join,join>> field mapping.
|
||||
+
|
||||
--
|
||||
[source,js]
|
||||
--------------------------------------------
|
||||
PUT my_index
|
||||
----
|
||||
PUT /my-index
|
||||
{
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"my_join_field": {
|
||||
"type": "join",
|
||||
"relations": {
|
||||
"my_parent": "my_child"
|
||||
"mappings": {
|
||||
"properties" : {
|
||||
"my-join-field" : {
|
||||
"type" : "join",
|
||||
"relations": {
|
||||
"my-parent": "my-child"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PUT my_index/_doc/1?refresh
|
||||
{
|
||||
"text": "This is a parent document",
|
||||
"my_join_field": "my_parent"
|
||||
}
|
||||
----
|
||||
// CONSOLE
|
||||
// TESTSETUP
|
||||
--
|
||||
|
||||
PUT my_index/_doc/2?routing=1&refresh
|
||||
. Index a parent document with an ID of `1`.
|
||||
+
|
||||
--
|
||||
[source,js]
|
||||
----
|
||||
PUT /my-index/_doc/1?refresh
|
||||
{
|
||||
"text": "This is a child document",
|
||||
"text": "This is a parent document.",
|
||||
"my-join-field": "my-parent"
|
||||
}
|
||||
----
|
||||
// CONSOLE
|
||||
--
|
||||
|
||||
. Index a child document of the parent document.
|
||||
+
|
||||
--
|
||||
[source,js]
|
||||
----
|
||||
PUT /my-index/_doc/2?routing=1&refresh
|
||||
{
|
||||
"text": "This is a child document.",
|
||||
"my_join_field": {
|
||||
"name": "my_child",
|
||||
"name": "my-child",
|
||||
"parent": "1"
|
||||
}
|
||||
}
|
||||
|
||||
--------------------------------------------
|
||||
----
|
||||
// CONSOLE
|
||||
// TESTSETUP
|
||||
--
|
||||
|
||||
[[parent-id-query-ex-query]]
|
||||
===== Example query
|
||||
|
||||
The following search returns child documents for a parent document with an ID of
|
||||
`1`.
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
GET /my_index/_search
|
||||
----
|
||||
GET /my-index/_search
|
||||
{
|
||||
"query": {
|
||||
"parent_id": {
|
||||
"type": "my_child",
|
||||
"id": "1"
|
||||
}
|
||||
"parent_id": {
|
||||
"type": "my-child",
|
||||
"id": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
--------------------------------------------------
|
||||
----
|
||||
// CONSOLE
|
||||
|
||||
[[parent-id-top-level-params]]
|
||||
==== Top-level parameters for `parent_id`
|
||||
|
||||
==== Parameters
|
||||
`type`::
|
||||
(Required, string) Name of the child relationship mapped for the
|
||||
<<parent-join,join>> field.
|
||||
|
||||
This query has two required parameters:
|
||||
`id`::
|
||||
(Required, string) ID of the parent document. The query will return child
|
||||
documents of this parent document.
|
||||
|
||||
[horizontal]
|
||||
`type`:: The **child** type name, as specified in the <<parent-join,`join` field>>.
|
||||
`id`:: The ID of the parent document.
|
||||
`ignore_unmapped`::
|
||||
+
|
||||
--
|
||||
(Optional, boolean) Indicates whether to ignore an unmapped `type` and not
|
||||
return any documents instead of an error. Defaults to `false`.
|
||||
|
||||
`ignore_unmapped`:: When set to `true` this will ignore an unmapped `type` and will not match any
|
||||
documents for this query. This can be useful when querying multiple indexes
|
||||
which might have different mappings. When set to `false` (the default value)
|
||||
the query will throw an exception if the `type` is not mapped.
|
||||
If `false`, {es} returns an error if the `type` is unmapped.
|
||||
|
||||
You can use this parameter to query multiple indices that may not contain the
|
||||
`type`.
|
||||
--
|
||||
|
Loading…
x
Reference in New Issue
Block a user