12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- [[include-in-all]]
- === `include_in_all`
- The `include_in_all` parameter provides per-field control over which fields
- are included in the <<mapping-all-field,`_all`>> field. It defaults to `true`, unless <<mapping-index,`index`>> is set to `no`.
- This example demonstrates how to exclude the `date` field from the `_all` field:
- [source,js]
- --------------------------------
- PUT my_index
- {
- "mappings": {
- "my_type": {
- "properties": {
- "title": { <1>
- "type": "string"
- }
- "content": { <1>
- "type": "string"
- },
- "date": { <2>
- "type": "date",
- "include_in_all": false
- }
- }
- }
- }
- }
- --------------------------------
- // AUTOSENSE
- <1> The `title` and `content` fields with be included in the `_all` field.
- <2> The `date` field will not be included in the `_all` field.
- TIP: The `include_in_all` setting is allowed to have different settings for
- fields of the same name in the same index. Its value can be updated on
- existing fields using the <<indices-put-mapping,PUT mapping API>>.
- The `include_in_all` parameter can also be set at the type level and on
- <<object,`object`>> or <<nested,`nested`>> fields, in which case all sub-
- fields inherit that setting. For instance:
- [source,js]
- --------------------------------
- PUT my_index
- {
- "mappings": {
- "my_type": {
- "include_in_all": false, <1>
- "properties": {
- "title": { "type": "string" },
- "author": {
- "include_in_all": true, <2>
- "properties": {
- "first_name": { "type": "string" },
- "last_name": { "type": "string" }
- }
- },
- "editor": {
- "properties": {
- "first_name": { "type": "string" }, <3>
- "last_name": { "type": "string", "include_in_all": true } <3>
- }
- }
- }
- }
- }
- }
- --------------------------------
- // AUTOSENSE
- <1> All fields in `my_type` are excluded from `_all`.
- <2> The `author.first_name` and `author.last_name` fields are included in `_all`.
- <3> Only the `editor.last_name` field is included in `_all`.
- The `editor.first_name` inherits the type-level setting and is excluded.
- [NOTE]
- .Multi-fields and `include_in_all`
- =================================
- The original field value is added to the `_all` field, not the terms produced
- by a field's analyzer. For this reason, it makes no sense to set
- `include_in_all` to `true` on <<multi-fields,multi-fields>>, as each
- multi-field has exactly the same value as its parent.
- =================================
|