Skip to content

Commit 6adc854

Browse files
authored
Adjust the knn tuning guide (elastic#113566) (elastic#113864)
1 parent 27fe7df commit 6adc854

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

docs/reference/how-to/knn-search.asciidoc

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ results contains the full document `_source`. When the documents contain
4545
high-dimensional `dense_vector` fields, the `_source` can be quite large and
4646
expensive to load. This could significantly slow down the speed of kNN search.
4747

48+
NOTE: <<docs-reindex, reindex>>, <<docs-update, update>>,
49+
and <<docs-update-by-query, update by query>> operations generally
50+
require the `_source` field. Disabling `_source` for a field might result in
51+
expected behavior for these operations. For example, reindex might not actually
52+
contain the `dense_vector` field in the new index.
53+
4854
You can disable storing `dense_vector` fields in the `_source` through the
4955
<<include-exclude, `excludes`>> mapping parameter. This prevents loading and
5056
returning large vectors during search, and also cuts down on the index size.
@@ -102,14 +108,14 @@ merges smaller segments into larger ones through a background
102108
explicit steps to reduce the number of index segments.
103109

104110
[discrete]
105-
==== Force merge to one segment
106-
107-
The <<indices-forcemerge,force merge>> operation forces an index merge. If you
108-
force merge to one segment, the kNN search only need to check a single,
109-
all-inclusive HNSW graph. Force merging `dense_vector` fields is an expensive
110-
operation that can take significant time to complete.
111-
112-
include::{es-ref-dir}/indices/forcemerge.asciidoc[tag=force-merge-read-only-warn]
111+
==== Increase maximum segment size
112+
113+
{es} provides many tunable settings for controlling the merge process. One
114+
important setting is `index.merge.policy.max_merged_segment`. This controls
115+
the maximum size of the segments that are created during the merge process.
116+
By increasing the value, you can reduce the number of segments in the index.
117+
The default value is `5GB`, but that might be too small for larger dimensional vectors.
118+
Consider increasing this value to `10GB` or `20GB` can help reduce the number of segments.
113119

114120
[discrete]
115121
==== Create large segments during bulk indexing

0 commit comments

Comments
 (0)