Browse Source

[DOCS] Remove and redirect frozen index overview content (#72990)

Changes:

* Removes and adds redirects for the frozen indices [overview][0], [best
  practices][1], [search][2], and [monitoring][3] pages.
* Removes glossary terms related to frozen indices.
* Updates several xrefs to point to the freeze index API docs.

Relates to elastic/elasticsearch#72946 and elastic/elasticsearch#70192.

[0]: https://www.elastic.co/guide/en/elasticsearch/reference/7.12/frozen-indices.html
[1]: https://www.elastic.co/guide/en/elasticsearch/reference/master/best_practices.html
[2]: https://www.elastic.co/guide/en/elasticsearch/reference/master/searching_a_frozen_index.html
[3]: https://www.elastic.co/guide/en/elasticsearch/reference/master/monitoring_frozen_indices.html
James Rodewig 4 years ago
parent
commit
8dddca77aa

+ 0 - 110
docs/reference/frozen-indices.asciidoc

@@ -1,110 +0,0 @@
-[role="xpack"]
-[testenv="basic"]
-[[frozen-indices]]
-= Frozen indices
-
-[partintro]
---
-{es} indices keep some data structures in memory to allow you to search them
-efficiently and to index into them. If you have a lot of indices then the
-memory required for these data structures can add up to a significant amount.
-For indices that are searched frequently it is better to keep these structures
-in memory because it takes time to rebuild them. However, you might access some
-of your indices so rarely that you would prefer to release the corresponding
-memory and rebuild these data structures on each search.
-
-For example, if you are using time-based indices to store log messages or time
-series data then it is likely that older indices are searched much less often
-than the more recent ones. Older indices also receive no indexing requests.
-Furthermore, it is usually the case that searches of older indices are for
-performing longer-term analyses for which a slower response is acceptable.
-
-If you have such indices then they are good candidates for becoming _frozen
-indices_. {es} builds the transient data structures of each shard of a frozen
-index each time that shard is searched, and discards these data structures as
-soon as the search is complete. Because {es} does not maintain these transient
-data structures in memory, frozen indices consume much less heap than normal
-indices. This allows for a much higher disk-to-heap ratio than would otherwise
-be possible.
-
-You can freeze the index using the <<freeze-index-api, Freeze Index API>>.
-
-Searches performed on frozen indices use the small, dedicated,
-<<search-throttled,`search_throttled` threadpool>> to control the number of
-concurrent searches that hit frozen shards on each node. This limits the amount
-of extra memory required for the transient data structures corresponding to
-frozen shards, which consequently protects nodes against excessive memory
-consumption.
-
-Frozen indices are read-only: you cannot index into them.
-
-Searches on frozen indices are expected to execute slowly. Frozen indices are
-not intended for high search load. It is possible that a search of a frozen
-index may take seconds or minutes to complete, even if the same searches
-completed in milliseconds when the indices were not frozen.
-
-To make a frozen index writable again, use the <<unfreeze-index-api, Unfreeze Index API>>.
-
---
-
-[role="xpack"]
-[testenv="basic"]
-[[best_practices]]
-== Best practices
-
-Since frozen indices provide a much higher disk to heap ratio at the expense of search latency, it is advisable to allocate frozen indices to
-dedicated nodes to prevent searches on frozen indices influencing traffic on low latency nodes. There is significant overhead in loading
-data structures on demand which can cause page faults and garbage collections, which further slow down query execution.
-
-Since indices that are eligible for freezing are unlikely to change in the future, disk space can be optimized as described in <<tune-for-disk-usage>>.
-
-It's highly recommended to <<indices-forcemerge,`_forcemerge`>> your indices prior to freezing to ensure that each shard has only a single
-segment on disk. This not only provides much better compression but also simplifies the data structures needed to service aggregation
-or sorted search requests.
-
-[source,console]
---------------------------------------------------
-POST /my-index-000001/_forcemerge?max_num_segments=1
---------------------------------------------------
-// TEST[setup:my_index]
-
-[role="xpack"]
-[testenv="basic"]
-[[searching_a_frozen_index]]
-== Searching a frozen index
-
-Frozen indices are throttled in order to limit memory consumptions per node. The number of concurrently loaded frozen indices per node is
-limited by the number of threads in the <<search-throttled,search_throttled>> threadpool,  which is `1` by default.
-Search requests will not be executed against frozen indices by default, even if a frozen index is named explicitly. This is
-to prevent accidental slowdowns by targeting a frozen index by mistake. To include frozen indices a search request must be executed with
-the query parameter `ignore_throttled=false`.
-
-[source,console]
---------------------------------------------------
-GET /my-index-000001/_search?q=user.id:kimchy&ignore_throttled=false
---------------------------------------------------
-// TEST[setup:my_index]
-
-[role="xpack"]
-[testenv="basic"]
-[[monitoring_frozen_indices]]
-== Monitoring frozen indices
-
-Frozen indices are ordinary indices that use search throttling and a memory efficient shard implementation. For API's like the
-<<cat-indices>> frozen indices may identified by an index's `search.throttled` property (`sth`).
-
-[source,console]
---------------------------------------------------
-GET /_cat/indices/my-index-000001?v=true&h=i,sth
---------------------------------------------------
-// TEST[s/^/PUT my-index-000001\nPOST my-index-000001\/_freeze\n/]
-
-The response looks like:
-
-[source,txt]
---------------------------------------------------
-i                 sth
-my-index-000001   true
---------------------------------------------------
-// TESTRESPONSE[non_json]
-

+ 0 - 15
docs/reference/glossary.asciidoc

@@ -155,21 +155,6 @@ Manually triggers a <<glossary-merge,merge>> to reduce the number of
 See the {ref}/indices-forcemerge.html[force merge API].
 // end::force-merge-def[]
 
-[[glossary-freeze]] freeze::
-// tag::freeze-def[]
-// tag::freeze-def-short[]
-Makes an index read-only and minimizes its memory footprint.
-// end::freeze-def-short[]
-See the {ref}/freeze-index-api.html[freeze API].
-// end::freeze-def[]
-
-[[glossary-frozen-index]] frozen index::
-// tag::frozen-index-def[]
-An <<glossary-index,index>> reduced to a low overhead state that still enables
-occasional searches.
-See the {ref}/freeze-index-api.html[freeze API].
-// end::frozen-index-def[]
-
 [[glossary-frozen-phase]] frozen phase::
 // tag::frozen-phase-def[]
 Fourth possible phase in the <<glossary-index-lifecycle,index lifecycle>>. In

+ 1 - 1
docs/reference/ilm/actions/ilm-freeze.asciidoc

@@ -4,7 +4,7 @@
 
 Phases allowed: cold.
 
-<<frozen-indices, Freezes>> an index to minimize its memory footprint.
+<<freeze-index-api, Freezes>> an index.
 
 IMPORTANT: Freezing an index closes the index and reopens it within the same API call.
 This means that for a short time no primaries are allocated.

+ 1 - 2
docs/reference/ilm/ilm-overview.asciidoc

@@ -18,8 +18,7 @@ include::../glossary.asciidoc[tag=rollover-def-short]
 include::../glossary.asciidoc[tag=shrink-def-short]
 * **Force merge**: 
 include::../glossary.asciidoc[tag=force-merge-def-short]
-* **Freeze**:
-include::../glossary.asciidoc[tag=freeze-def-short]
+* **Freeze**: <<freeze-index-api, Freezes>> an index and makes it read-only.
 * **Delete**: Permanently remove an index, including all of its data and metadata.
 
 {ilm-init} makes it easier to manage indices in hot-warm-cold architectures,

+ 0 - 2
docs/reference/index.asciidoc

@@ -53,8 +53,6 @@ include::autoscaling/index.asciidoc[]
 
 include::monitoring/index.asciidoc[]
 
-include::frozen-indices.asciidoc[]
-
 include::data-rollup-transform.asciidoc[]
 
 include::high-availability.asciidoc[]

+ 3 - 1
docs/reference/indices/apis/freeze.asciidoc

@@ -6,7 +6,9 @@
 <titleabbrev>Freeze index</titleabbrev>
 ++++
 
+// tag::freeze-api-dep[]
 deprecated::[7.14, Frozen indices are no longer useful due to https://www.elastic.co/blog/significantly-decrease-your-elasticsearch-heap-memory-usage[recent improvements in heap memory usage].]
+// end::freeze-api-dep[]
 
 Freezes an index.
 
@@ -27,7 +29,7 @@ Freezes an index.
 A frozen index has almost no overhead on the cluster (except for maintaining its
 metadata in memory) and is read-only. Read-only indices are blocked for write
 operations, such as <<indexing,docs-index_>> or <<indices-forcemerge,force
-merges>>. See <<frozen-indices>> and <<unfreeze-index-api>>.
+merges>>. See <<unfreeze-index-api>>.
 
 The current write index on a data stream cannot be frozen. In order to freeze
 the current write index, the data stream must first be

+ 1 - 1
docs/reference/indices/apis/unfreeze.asciidoc

@@ -23,7 +23,7 @@ Unfreezes an index.
 ==== {api-description-title}
 
 When a frozen index is unfrozen, the index goes through the normal recovery 
-process and becomes writeable again. See <<frozen-indices>> and <<freeze-index-api>>.
+process and becomes writeable again. See <<freeze-index-api>>.
 
 IMPORTANT: Freezing an index will close the index and reopen it within the same
 API call. This causes primaries to not be allocated for a short amount of time

+ 1 - 1
docs/reference/indices/index-mgmt.asciidoc

@@ -43,7 +43,7 @@ Open {kib}'s main menu and click *Stack Management > Index Management*.
 image::images/index-mgmt/management_index_labels.png[Index Management UI]
 
 The *Index Management* page contains an overview of your indices.
-Badges indicate if an index is <<frozen-indices,frozen>>, a
+Badges indicate if an index is <<freeze-index-api,frozen>>, a
 <<ccr-put-follow,follower index>>, or a
 <<rollup-get-rollup-index-caps,rollup index>>.
 

+ 1 - 1
docs/reference/mapping/params/eager-global-ordinals.asciidoc

@@ -85,7 +85,7 @@ PUT my-index-000001/_mapping
 ------------
 // TEST[continued]
 
-IMPORTANT: On a <<frozen-indices,frozen index>>, global ordinals are discarded
+IMPORTANT: On a <<freeze-index-api,frozen index>>, global ordinals are discarded
 after each search and rebuilt again when they're requested. This means that
 `eager_global_ordinals` should not be used on frozen indices: it would
 cause global ordinals to be reloaded on every search. Instead, the index should

+ 24 - 0
docs/reference/redirects.asciidoc

@@ -1555,3 +1555,27 @@ See <<getting-started>>.
 === Settng JVM options
 
 See <<set-jvm-options>>.
+
+[role="exclude",id="frozen-indices"]
+=== Frozen indices
+
+// tag::frozen-index-redirect[]
+include::{es-repo-dir}/indices/apis/freeze.asciidoc[tag=freeze-api-dep]
+
+For API documentation, see <<freeze-index-api>> and <<unfreeze-index-api>>.
+// end::frozen-index-redirect[]
+
+[role="exclude",id="best_practices"]
+=== Best practices for frozen indices
+
+include::redirects.asciidoc[tag=frozen-index-redirect]
+
+[role="exclude",id="searching_a_frozen_index"]
+=== Searching a frozen index
+
+include::redirects.asciidoc[tag=frozen-index-redirect]
+
+[role="exclude",id="monitoring_frozen_indices"]
+=== Monitoring frozen indices
+
+include::redirects.asciidoc[tag=frozen-index-redirect]

+ 1 - 1
docs/reference/search/search-your-data/long-running-searches.asciidoc

@@ -5,7 +5,7 @@
 
 {es} generally allows you to quickly search across big amounts of data. There are
 situations where a search executes on many shards, possibly against
-<<frozen-indices,frozen indices>> and spanning multiple
+<<freeze-index-api,frozen indices>> and spanning multiple
 <<modules-remote-clusters,remote clusters>>, for which
 results are not expected to be returned in milliseconds. When you need to
 execute long-running searches, synchronously

+ 1 - 1
docs/reference/search/search-your-data/search-your-data.asciidoc

@@ -220,7 +220,7 @@ _synchronous_ by default. The search request waits for complete results before
 returning a response.
 
 However, complete results can take longer for searches across
-<<frozen-indices,frozen indices>> or <<modules-cross-cluster-search,multiple
+<<freeze-index-api,frozen indices>> or <<modules-cross-cluster-search,multiple
 clusters>>.
 
 To avoid long waits, you can run an _asynchronous_, or _async_, search

+ 1 - 1
docs/reference/sql/endpoints/jdbc.asciidoc

@@ -145,7 +145,7 @@ will be - typically the first in natural ascending order) for fields with multip
 
 [discrete]
 ==== Index
-`index.include.frozen` (default `false`):: Whether to include <<frozen-indices, frozen-indices>> in the query execution or not (default).
+`index.include.frozen` (default `false`):: Whether to include <<freeze-index-api, frozen-indices>> in the query execution or not (default).
 
 [discrete]
 ==== Additional

+ 1 - 1
docs/reference/sql/endpoints/rest.asciidoc

@@ -612,7 +612,7 @@ More information available https://docs.oracle.com/javase/8/docs/api/java/time/Z
 
 |index_include_frozen
 |false
-|Whether to include <<frozen-indices, frozen-indices>> in the query execution or not (default).
+|Whether to include <<freeze-index-api, frozen-indices>> in the query execution or not (default).
 
 |params
 |none

+ 2 - 6
docs/reference/sql/language/indices.asciidoc

@@ -88,12 +88,8 @@ requires the keyword `LIKE` for SQL `LIKE` pattern.
 [[sql-index-frozen]]
 === Frozen Indices
 
-{es} <<frozen-indices, frozen indices>> are a useful and powerful tool for hot/warm architecture introduced in {es} 6.6, 
-essentially by trading speed for memory.
-{es-sql} supports frozen indices and similar to {es}, due to their performance characteristics, allows searches on them only
-when explicitly told so by user - in other words, by default, frozen indices are not included in searches.
-
-One can toggle the use of frozen indices through:
+By default, {es-sql} doesn't search <<freeze-index-api,frozen indices>>. To
+search frozen indices, use one of the following features:
 
 dedicated configuration parameter::
 Set to `true` properties `index_include_frozen` in the <<sql-rest>> or `index.include.frozen` in the drivers to include frozen indices.