123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- [role="xpack"]
- [[index-mgmt]]
- == Index management in {kib}
- {kib}'s *Index Management* features are an easy, convenient way to manage your
- cluster's indices, <<data-streams,data streams>>, <<index-templates,index
- templates>>, and <<ingest-enriching-data,enrich policies>>. Practicing good index management ensures your data is stored
- correctly and in the most cost-effective way possible.
- To use these features, go to *Stack Management* > *Index Management*.
- [discrete]
- [[index-mgmt-wyl]]
- [discrete]
- [[index-mgm-req-permissions]]
- === Required permissions
- If you use {es} {security-features}, the following
- <<security-privileges,security privileges>> are required:
- * The `monitor` cluster privilege to access {kib}'s *Index Management* features.
- * The `view_index_metadata` and `manage` index privileges to view a data stream
- or index's data.
- * The `manage_index_templates` cluster privilege to manage index templates.
- To add these privileges, go to *Stack Management > Security > Roles* or use the <<security-api-put-role,Create or update roles API>>.
- [discrete]
- [[view-edit-indices]]
- === Manage indices
- Investigate your indices and perform operations from the *Indices* view.
- [role="screenshot"]
- image::images/index-mgmt/management_index_labels.png[Index Management UI]
- * To show details and perform operations such as close, forcemerge, and flush,
- click the index name. To perform operations
- on multiple indices, select their checkboxes and then open the *Manage* menu.
- For more information on managing indices, refer to <<indices, Index APIs>>.
- * To filter the list of indices, use the search bar or click a badge.
- Badges indicate if an index is a <<ccr-put-follow,follower index>>, a
- <<rollup-get-rollup-index-caps,rollup index>>, or <<unfreeze-index-api,frozen>>.
- * To drill down into the index
- <<mapping,mappings>>, <<index-modules-settings,settings>>, and statistics,
- click an index name. From this view, you can navigate to *Discover* to
- further explore the documents in the index.
- +
- [role="screenshot"]
- image::images/index-mgmt/management_index_details.png[Index Management UI]
- [float]
- [[manage-data-streams]]
- === Manage data streams
- Investigate your data streams and address lifecycle management needs in the *Data Streams* view.
- The value in the *Indices* column indicates the number of backing indices. Click this number to drill down into details.
- A value in the data retention column indicates that the data stream is managed by a <<data-stream-lifecycle,data stream lifecycle policy>>.
- This value is the time period for which your data is guaranteed to be stored. Data older than this period can be deleted by
- Elasticsearch at a later time.
- [role="screenshot"]
- image::images/index-mgmt/management-data-stream-fields.png[Data stream details]
- * To view more information about a data stream, such as its generation or its
- current index lifecycle policy, click the stream's name. From this view, you can navigate to *Discover* to
- further explore data within the data stream.
- * preview:[]To edit the data retention value, open the *Manage* menu, and then click *Edit data retention*.
- This action is only available if your data stream is not managed by an ILM policy.
- [float]
- [[manage-index-templates]]
- === Manage index templates
- Create,
- edit, clone, and delete your index templates in the *Index Templates* view. Changes made to an index template do not
- affect existing indices.
- [role="screenshot"]
- image::images/index-mgmt/management-index-templates.png[Index templates]
- [float]
- ==== Try it: Create an index template
- In this tutorial, you’ll create an index template and use it to configure two
- new indices.
- *Step 1. Add a name and index pattern*
- . In the *Index Templates* view, open the *Create template* wizard.
- +
- [role="screenshot"]
- image::images/index-mgmt/management_index_create_wizard.png[Create wizard]
- . In the *Name* field, enter `my-index-template`.
- . Set *Index pattern* to `my-index-*` so the template matches any index
- with that index pattern.
- . Leave *Data Stream*, *Priority*, *Version*, and *_meta field* blank or as-is.
- *Step 2. Add settings, mappings, and aliases*
- . Add <<indices-component-template,component templates>> to your index template.
- +
- Component templates are pre-configured sets of mappings, index settings, and
- aliases you can reuse across multiple index templates. Badges indicate
- whether a component template contains mappings (*M*), index settings (*S*),
- aliases (*A*), or a combination of the three.
- +
- Component templates are optional. For this tutorial, do not add any component
- templates.
- +
- [role="screenshot"]
- image::images/index-mgmt/management_index_component_template.png[Component templates page]
- . Define index settings. These are optional. For this tutorial, leave this
- section blank.
- . Define a mapping that contains an <<object,object>> field named `geo` with a
- child <<geo-point,`geo_point`>> field named `coordinates`:
- +
- [role="screenshot"]
- image::images/index-mgmt/management-index-templates-mappings.png[Mapped fields page]
- +
- Alternatively, you can click the *Load JSON* link and define the mapping as JSON:
- +
- [source,js]
- ----
- {
- "properties": {
- "geo": {
- "properties": {
- "coordinates": {
- "type": "geo_point"
- }
- }
- }
- }
- }
- ----
- // NOTCONSOLE
- +
- You can create additional mapping configurations in the *Dynamic templates* and
- *Advanced options* tabs. For this tutorial, do not create any additional
- mappings.
- . Define an alias named `my-index`:
- +
- [source,js]
- ----
- {
- "my-index": {}
- }
- ----
- // NOTCONSOLE
- . On the review page, check the summary. If everything looks right, click
- *Create template*.
- *Step 3. Create new indices*
- You’re now ready to create new indices using your index template.
- . Index the following documents to create two indices:
- `my-index-000001` and `my-index-000002`.
- +
- [source,console]
- ----
- POST /my-index-000001/_doc
- {
- "@timestamp": "2019-05-18T15:57:27.541Z",
- "ip": "225.44.217.191",
- "extension": "jpg",
- "response": "200",
- "geo": {
- "coordinates": {
- "lat": 38.53146222,
- "lon": -121.7864906
- }
- },
- "url": "https://media-for-the-masses.theacademyofperformingartsandscience.org/uploads/charles-fullerton.jpg"
- }
- POST /my-index-000002/_doc
- {
- "@timestamp": "2019-05-20T03:44:20.844Z",
- "ip": "198.247.165.49",
- "extension": "php",
- "response": "200",
- "geo": {
- "coordinates": {
- "lat": 37.13189556,
- "lon": -76.4929875
- }
- },
- "memory": 241720,
- "url": "https://theacademyofperformingartsandscience.org/people/type:astronauts/name:laurel-b-clark/profile"
- }
- ----
- . Use the <<indices-get-index,get index API>> to view the configurations for the
- new indices. The indices were configured using the index template you created
- earlier.
- +
- [source,console]
- --------------------------------------------------
- GET /my-index-000001,my-index-000002
- --------------------------------------------------
- // TEST[continued]
- [float]
- [[manage-enrich-policies]]
- === Manage enrich policies
- Use the *Enrich Policies* view to add data from your existing indices to incoming documents during ingest.
- An enrich policy contains:
- * The policy type that determines how the policy matches the enrich data to incoming documents
- * The source indices that store enrich data as documents
- * The fields from the source indices used to match incoming documents
- * The enrich fields containing enrich data from the source indices that you want to add to incoming documents
- * An optional <<query-dsl-match-all-query,query>>.
- [role="screenshot"]
- image::images/index-mgmt/management-enrich-policies.png[Enrich policies]
- When creating an enrich policy, the UI walks you through the configuration setup and selecting the fields.
- Before you can use the policy with an enrich processor or {esql} query, you must execute the policy.
- When executed, an enrich policy uses enrich data from the policy’s source indices
- to create a streamlined system index called the enrich index. The policy uses this index to match and enrich incoming documents.
- Check out these examples:
- * <<geo-match-enrich-policy-type>>
- * <<match-enrich-policy-type>>
- * <<range-enrich-policy-type>>
|