From cf7c558c0947543eded6ca50aa109912b5788ccb Mon Sep 17 00:00:00 2001 From: Ray Offiah <77050471+RayOffiah@users.noreply.github.com> Date: Thu, 3 Oct 2024 11:37:35 +0100 Subject: [PATCH 1/7] [quickfix]: quickfix: strange font problem on diagram (#274) Seems to have been caused by extra space in the label. --- .../tutorials/partials/diagrams/couchbase-hierarchy.puml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/tutorials/partials/diagrams/couchbase-hierarchy.puml b/modules/tutorials/partials/diagrams/couchbase-hierarchy.puml index 19c746b4c..8698dfd20 100644 --- a/modules/tutorials/partials/diagrams/couchbase-hierarchy.puml +++ b/modules/tutorials/partials/diagrams/couchbase-hierarchy.puml @@ -23,20 +23,20 @@ collection --> document3 note right of bucket - Maximum of 30 per cluster - + Maximum of 30 per cluster + end note note left of scope Maximum of 1000 per cluster - + end note note right of collection Maximum of 1000 per cluster - + end note @enduml From f47810ede080236f2a1f415704e4fce560deca17 Mon Sep 17 00:00:00 2001 From: Ray Offiah Date: Mon, 14 Oct 2024 11:18:02 +0100 Subject: [PATCH 2/7] [DOC-12610]: Document `nprobe` tweaking --- .../diagrams/couchbase-hierarchy.puml | 8 +- .../pages/fine-tune-vector-search.adoc | 142 ++++++++++++++++++ modules/vector-search/partials/nav.adoc | 3 +- 3 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 modules/vector-search/pages/fine-tune-vector-search.adoc diff --git a/modules/tutorials/partials/diagrams/couchbase-hierarchy.puml b/modules/tutorials/partials/diagrams/couchbase-hierarchy.puml index 8698dfd20..19c746b4c 100644 --- a/modules/tutorials/partials/diagrams/couchbase-hierarchy.puml +++ b/modules/tutorials/partials/diagrams/couchbase-hierarchy.puml @@ -23,20 +23,20 @@ collection --> document3 note right of bucket - Maximum of 30 per cluster - + Maximum of 30 per cluster + end note note left of scope Maximum of 1000 per cluster - + end note note right of collection Maximum of 1000 per cluster - + end note @enduml diff --git a/modules/vector-search/pages/fine-tune-vector-search.adoc b/modules/vector-search/pages/fine-tune-vector-search.adoc new file mode 100644 index 000000000..0bbf43c6e --- /dev/null +++ b/modules/vector-search/pages/fine-tune-vector-search.adoc @@ -0,0 +1,142 @@ += Fine-Tuning a Vector Search Query + +:page-ui-name: {ui-name} +:page-product-name: {product-name} +:stem: +:description: Add additional parameters to a Vector Search REST API call to tune the search for recall or accuracy. + +[abstract] +{description} + + + +The Search Service automatically tunes your Vector Search indexes to achieve a balance between: + +* Recall, or the quality of your search results +* Latency, or your search response time +* Memory efficiency + +This tuning occurs during indexing and querying. +You do not need to adjust these parameters manually. + +Specifically, the Search Service dynamically adjusts two critical vector parameters: + +`nlist`, also known as `Centroid` count:: +The number of clusters used for indexing. +Centroids are used to quickly find the surrounding closest matches in the Vector Search index. +Increasing the number of centroids will increase accuracy but will decrease the speed of the search. ++ +The `nlist` is determined dynamically based on the size of the dataset, or the number of vectors in a partition: ++ +[%header, cols="3*a"] +|=== +| Number of vectors in partition (`nvec`) +| `nlist` calculation +| Notes + +| stem:["nvec " ge " 200,000"] +| stem:[4 xx sqrt("nvec")] +| This formula is designed to handle larger datasets + where increasing the number of datasets does not yield significant improvements in recall. + +| stem:["1000" lt "nvec" le "200,000" ] +| stem:["nvec" / 100] +| This formula targets approximately 100 vectors per cluster, +which balances between too few and too many clusters, ensuring efficient indexing. + +| stem:["nvec" lt 1000] +| N/A +| For a number of vectors less than 1000, the Search Service will carry out a straight forward one-to-one mapping between IDs and vectors with an exact vector comparison. +Vectors are directly stored without the need for additional processing for the `nlist` calculation. + +|=== + +`nprobes` (or `probes`):: +The number of `centroids` that a Search query will check for similar vectors. +The `nprobe` value is only set when the Search Service is using an Inverted File Index. The Search Service will select the best index type and comparison method depending on the size of the dataset and your `vector_index_optimized_for` setting. ++ ++ +[%header, cols="3*a"] +|=== +| Query optimization +| `nprobe` calculation +| Notes + + +| Default calculation +| stem:[sqrt("nlist")] +| This provides a balanced tradeoff between recall and latency by adjusting the number of clusters probed during queries. + +| Latency-optimized (`vector_index_optimized_for: latency`) +| stem:[sqrt("nlist") / 2] +| A minimum value of 1 is enforced to avoid setting `nprobe` too low. + +|=== + + +== Fine-Tuning Query Parameters + + +Add an additional parameter object to any Vector Search query to tune the recall or accuracy of your search. + +You can add the following parameters to your query: + +`ivf_nprobe_pct`:: +Adjusts the number percentage of clusters searched during queries, allowing for fine-tuning of the balance between recall and performance. +If the value of `nprobe` is 5% of `nlist` (the centroid count), then setting the value of `ivf_nprobe_pct` higher than 5% will have the search cover a higher percentage of clusters, which will improve the accuracy of the search. + +`ivf_max_codes_pct`:: +The default value for this is 100, and the value represents the percentage of `centroids` that will be visited during a search. +Reducing the value reduces the number of centroids visited, which will decrease accuracy and recall, but will result in faster compute times. + +== Example: nlist and nprobe Calculations on a Vector Search Index Set to Recall + +For example, if you had a Vector Search index with `vector_index_optimized_for` set to `"recall"` and `indexPartitions` set to `5`, `nlist` and `nprobe` are determined based on the current vector count in a given partition: + +''' +[options="noheader", frame="none", grid="none" cols="1,1"] +|=== +| stem:["Total vectors in index"] (optimization = recall) +| 10,000,000 + +| stem:["Average vectors in a partition for 5 partitions total"] +| 2,000,000 + +| stem:["nlist"] (or stem:["centroids"]) = stem:[4 times sqrt("total vectors in index")] +| 5657 + +| stem:["nprobes"] = stem:[sqrt(nlist)] +| 75 + +| stem:["Calculated default: ivf_nprobe_pct"] +| 1.325% + +| stem:["Calculated default: ivf_max_codes_pct"] +| 100% + +|=== + +''' + +[source, json] +.Using tuning parameters +---- +{ + "fields": ["*"], + "knn": [{ + "k": 10, + "params": { + "ivf_nprobe_pct": 1, + "ivf_max_codes_pct": 0.2 + }, + "field": "embedding", + "vector": [0.024901132253900747, 1535] + }] +} +---- + + + + + + diff --git a/modules/vector-search/partials/nav.adoc b/modules/vector-search/partials/nav.adoc index 43d3ac6c0..e9e57543b 100644 --- a/modules/vector-search/partials/nav.adoc +++ b/modules/vector-search/partials/nav.adoc @@ -1,6 +1,7 @@ * xref:7.6@server:vector-search:vector-search.adoc[] ** xref:7.6@server:vector-search:create-vector-search-index-ui.adoc[] ** xref:7.6@server:vector-search:create-vector-search-index-rest-api.adoc[] +** xref:7.6@server:vector-search:fine-tune-vector-search.adoc[] ** xref:7.6@server:vector-search:run-vector-search-ui.adoc[] ** xref:7.6@server:vector-search:run-vector-search-rest-api.adoc[] -** xref:7.6@server:vector-search:run-vector-search-sdk.adoc[] \ No newline at end of file +** xref:7.6@server:vector-search:run-vector-search-sdk.adoc[] From 5fb0fbbe59dda2e2ca58a8ddffe1662e08f4c090 Mon Sep 17 00:00:00 2001 From: Ray Offiah Date: Sat, 9 Nov 2024 11:07:33 +0000 Subject: [PATCH 3/7] [DOC=12610]: Moved fine-tuning menu entry. [DOC=12610]: Moved the stem declaration; wasn't working in the old position. --- modules/vector-search/pages/fine-tune-vector-search.adoc | 3 +-- modules/vector-search/partials/nav.adoc | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/vector-search/pages/fine-tune-vector-search.adoc b/modules/vector-search/pages/fine-tune-vector-search.adoc index 0bbf43c6e..b42a6db69 100644 --- a/modules/vector-search/pages/fine-tune-vector-search.adoc +++ b/modules/vector-search/pages/fine-tune-vector-search.adoc @@ -1,8 +1,7 @@ = Fine-Tuning a Vector Search Query - +:stem: asciimath :page-ui-name: {ui-name} :page-product-name: {product-name} -:stem: :description: Add additional parameters to a Vector Search REST API call to tune the search for recall or accuracy. [abstract] diff --git a/modules/vector-search/partials/nav.adoc b/modules/vector-search/partials/nav.adoc index e9e57543b..b76214ec9 100644 --- a/modules/vector-search/partials/nav.adoc +++ b/modules/vector-search/partials/nav.adoc @@ -1,7 +1,7 @@ * xref:7.6@server:vector-search:vector-search.adoc[] ** xref:7.6@server:vector-search:create-vector-search-index-ui.adoc[] ** xref:7.6@server:vector-search:create-vector-search-index-rest-api.adoc[] -** xref:7.6@server:vector-search:fine-tune-vector-search.adoc[] ** xref:7.6@server:vector-search:run-vector-search-ui.adoc[] ** xref:7.6@server:vector-search:run-vector-search-rest-api.adoc[] ** xref:7.6@server:vector-search:run-vector-search-sdk.adoc[] +** xref:7.6@server:vector-search:fine-tune-vector-search.adoc[] From 39bd36e6f289ee84290199105b8d5eefbead705e Mon Sep 17 00:00:00 2001 From: Ray Offiah Date: Sat, 9 Nov 2024 14:45:53 +0000 Subject: [PATCH 4/7] [DOC=12610]: Moved and reworded the sections for clarity. Adding link to search-index-params.adoc --- modules/search/pages/search-index-params.adoc | 2 +- .../pages/fine-tune-vector-search.adoc | 58 +++++++++++-------- 2 files changed, 34 insertions(+), 26 deletions(-) diff --git a/modules/search/pages/search-index-params.adoc b/modules/search/pages/search-index-params.adoc index 32e51279f..ae17c044f 100644 --- a/modules/search/pages/search-index-params.adoc +++ b/modules/search/pages/search-index-params.adoc @@ -1077,7 +1077,7 @@ The child field's type. Can be one of: For more information about the available field data types, see xref:field-data-types-reference.adoc[]. -|vector_index_optimized_for |String |Vector Only a| +|[#vector-index-optimized-param]#vector_index_optimized_for# |String |Vector Only a| include::partial$vector-search-field-descriptions.adoc[tag=optimized_for] diff --git a/modules/vector-search/pages/fine-tune-vector-search.adoc b/modules/vector-search/pages/fine-tune-vector-search.adoc index b42a6db69..1faa32c91 100644 --- a/modules/vector-search/pages/fine-tune-vector-search.adoc +++ b/modules/vector-search/pages/fine-tune-vector-search.adoc @@ -30,7 +30,7 @@ The `nlist` is determined dynamically based on the size of the dataset, or the n [%header, cols="3*a"] |=== | Number of vectors in partition (`nvec`) -| `nlist` calculation +| `Centroid count` (`nlist` calculation) | Notes | stem:["nvec " ge " 200,000"] @@ -38,7 +38,7 @@ The `nlist` is determined dynamically based on the size of the dataset, or the n | This formula is designed to handle larger datasets where increasing the number of datasets does not yield significant improvements in recall. -| stem:["1000" lt "nvec" le "200,000" ] +| stem:["1000" le "nvec" le "200,000" ] | stem:["nvec" / 100] | This formula targets approximately 100 vectors per cluster, which balances between too few and too many clusters, ensuring efficient indexing. @@ -51,8 +51,10 @@ Vectors are directly stored without the need for additional processing for the ` |=== `nprobes` (or `probes`):: -The number of `centroids` that a Search query will check for similar vectors. -The `nprobe` value is only set when the Search Service is using an Inverted File Index. The Search Service will select the best index type and comparison method depending on the size of the dataset and your `vector_index_optimized_for` setting. +This is the number of `centroids` that a Search query will check for similar vectors. +The `nprobe` value is only set when the Search Service is using an Inverted File Index. The Search Service will select the best index type and comparison method depending on the size of the dataset and your `vector_index_optimized_for` setting. ++ +(For more information on the `vector_index_optimized_for` setting, see xref:search:search-index-params.adoc#vector-index-optimized-param[Search Index JSON properties ]) + + [%header, cols="3*a"] @@ -66,56 +68,60 @@ The `nprobe` value is only set when the Search Service is using an Inverted File | stem:[sqrt("nlist")] | This provides a balanced tradeoff between recall and latency by adjusting the number of clusters probed during queries. -| Latency-optimized (`vector_index_optimized_for: latency`) +| Latency-optimized calculation (`vector_index_optimized_for: latency`) | stem:[sqrt("nlist") / 2] | A minimum value of 1 is enforced to avoid setting `nprobe` too low. |=== - -== Fine-Tuning Query Parameters +== Default `nlist` and `nprobe` calculations on a Vector Search Index -Add an additional parameter object to any Vector Search query to tune the recall or accuracy of your search. - -You can add the following parameters to your query: +The cluster maintains two dynamically adjusted parameters that will affect the speed, accuracy, and resources used during the search: `ivf_nprobe_pct`:: -Adjusts the number percentage of clusters searched during queries, allowing for fine-tuning of the balance between recall and performance. +The percentage of clusters searched during queries, allowing for fine-tuning of the balance between recall and performance. If the value of `nprobe` is 5% of `nlist` (the centroid count), then setting the value of `ivf_nprobe_pct` higher than 5% will have the search cover a higher percentage of clusters, which will improve the accuracy of the search. `ivf_max_codes_pct`:: -The default value for this is 100, and the value represents the percentage of `centroids` that will be visited during a search. -Reducing the value reduces the number of centroids visited, which will decrease accuracy and recall, but will result in faster compute times. - -== Example: nlist and nprobe Calculations on a Vector Search Index Set to Recall +The value represents the percentage of `centroids` that will be visited during a search. +Reducing the value reduces the number of centroids visited, which will decrease accuracy and recall, but will result in faster compute times. The default value is 100 (i.e 100% of the centroids will be visited during the search). -For example, if you had a Vector Search index with `vector_index_optimized_for` set to `"recall"` and `indexPartitions` set to `5`, `nlist` and `nprobe` are determined based on the current vector count in a given partition: -''' +.Default calculation +==== +If you have a Vector Search index with `vector_index_optimized_for` set to `"recall"` and `indexPartitions` set to `5`, then the `centroid count` (`nlist`) and `nprobe` are determined based on the current vector count in a given partition. [options="noheader", frame="none", grid="none" cols="1,1"] + |=== -| stem:["Total vectors in index"] (optimization = recall) +| Total vectors in index (optimization = recall) | 10,000,000 -| stem:["Average vectors in a partition for 5 partitions total"] +| Average vectors in a partition for 5 partitions total | 2,000,000 -| stem:["nlist"] (or stem:["centroids"]) = stem:[4 times sqrt("total vectors in index")] +| centroid count (`nlist`) = stem:[4 times sqrt("total vectors in index")] | 5657 -| stem:["nprobes"] = stem:[sqrt(nlist)] +| nprobes = stem:[sqrt(nlist)] | 75 -| stem:["Calculated default: ivf_nprobe_pct"] +| Calculated default: `ivf_nprobe_pct` | 1.325% -| stem:["Calculated default: ivf_max_codes_pct"] -| 100% +| Calculated default: `ivf_max_codes_pct` +| 100% (default value) |=== -''' +==== + +== Fine-Tuning Query Parameters + + +You can add set the values of `ivf_nprobe_pct` and `ivf_max_codes_pct` in your Vector Search queries to tune the recall or accuracy of your search. + +You can add the following parameters to your query: [source, json] .Using tuning parameters @@ -134,6 +140,8 @@ For example, if you had a Vector Search index with `vector_index_optimized_for` } ---- +In the example above, the search will be carried out across all the fields, looking for close matches for the numbers specified in `vector`. +The parameters have been set to search 1% of the clusters, and 0.2 per cent of the centroids. From b909bcf1833c8faa2ebcc587cc3e6a6c72fc886f Mon Sep 17 00:00:00 2001 From: Sarah Welton Date: Fri, 15 Nov 2024 11:43:19 -0500 Subject: [PATCH 5/7] [DOC-12715] Add documentation to the JSON search request example and topics around the new added memory-efficient setting and the params object for probe and centroid tuning --- .../examples/run-search-full-request.jsonc | 4 ++ .../search/pages/search-request-params.adoc | 40 +++++++++++++++++++ .../vector-search-field-descriptions.adoc | 7 +++- 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/modules/search/examples/run-search-full-request.jsonc b/modules/search/examples/run-search-full-request.jsonc index 5d04c3143..4587e3702 100644 --- a/modules/search/examples/run-search-full-request.jsonc +++ b/modules/search/examples/run-search-full-request.jsonc @@ -47,6 +47,10 @@ "knn": [ { "k": 10, + "params": { + "ivf_nprobe_pct": 1, + "ivf_max_codes_pct": 0.2 + }, "field": "vector_field", "vector": [ 0.707106781186548, 0, 0.707106781186548 ] } diff --git a/modules/search/pages/search-request-params.adoc b/modules/search/pages/search-request-params.adoc index a14951e99..a3cae2984 100644 --- a/modules/search/pages/search-request-params.adoc +++ b/modules/search/pages/search-request-params.adoc @@ -173,6 +173,12 @@ The Search Service returns the `k` closest vectors to the vector given in `vecto NOTE: The <> overrides any value set in `k`. +|params |Object |No a| + +Enter additional parameters to control how the Search Service compares vectors when running a Vector Search request. + +For more information about the `params` object, see <>. + |field |String |Yes a| The name of the field that contains the vector data you want to search. @@ -199,6 +205,40 @@ For more information about the dimension value, see the xref:search-index-params |==== +[#knn-params] +=== knn params Object + +Use the `params` object inside a `knn` object to fine tune the probes and centroids the Search Services uses and searches while running a Vector Search request. + +The `params` object can contain the following properties: + +[cols="1,1,1,4"] +|==== +|Property |Type |Required? |Description + +|ivf_nprobe_pct |Number (percentage) |No a| + +Set the `ivf_nprobe_pct` value to control the percentage of clusters that the Search Service searches during a single Vector Search query, or the percentage of probes used. + +The Search Service automatically calculates a default `nprobe` percentage based on the vectors in a given partition of your Vector Search index. +For more information about this calculation, see xref:vector-search:fine-tune-vector-search.adoc[]. + +If you set the value of `ivf_nprobe_pct` higher than this default calculated value, the Search Service will search a higher percentage of clusters in your processed vectors. +This can increase your accuracy and recall for Vector Search, but requires more compute time for each query. + +In the example, the Search Service searches only `1%` of the total available clusters. + +|ivf_max_codes_pct |Number (percentage out of 100) |No a| + +Set the `ivf_max_codes_pct` value to control the maximum number of centroids that the Search Service accesses during a single Vector Search query. + +By default, this value is always 100%. + +If you reduce your `ivf_max_codes_pct` value, the Search Service accesses fewer centroids, which reduces your Vector Search accuracy and recall, but gives faster compute times for your search. + +In the example, the Search Service searches only `0.2%` of the available centroids in your vector data. +|==== + [#query-object] == Query Object diff --git a/modules/search/partials/vector-search-field-descriptions.adoc b/modules/search/partials/vector-search-field-descriptions.adoc index fbe64610d..30c3f555b 100644 --- a/modules/search/partials/vector-search-field-descriptions.adoc +++ b/modules/search/partials/vector-search-field-descriptions.adoc @@ -1,5 +1,5 @@ // tag::optimized_for[] -For a `vector` child field, choose whether the Search Service should prioritize recall or latency when returning similar vectors in search results: +For a `vector` child field, choose whether the Search Service should prioritize recall, latency, or memory efficiency when returning similar vectors in search results: * *recall*: The Search Service prioritizes returning the most accurate result. This may increase resource usage for Search queries. @@ -12,6 +12,11 @@ This may reduce the accuracy of results. + The Search Service uses half the `nprobe` value calculated for *recall* priority. +* *memory-efficient*: The Search Service prioritizes reducing memory usage and optimizes search operations for less resources. +This may reduce both accuracy (recall) and latency. ++ +The Search Service uses either an inverted file index with scalar quantization, or a directly mapped index with exact vector comparisons, depending on the number of vectors in your data. + For more information about Vector Search indexes, see xref:vector-search:vector-search.adoc[] or xref:vector-search:create-vector-search-index-ui.adoc[]. // end::optimized_for[] // tag::similarity_metric[] From fd665e287765b383e2c42696408b53a851854581 Mon Sep 17 00:00:00 2001 From: Sarah Welton Date: Fri, 15 Nov 2024 11:46:16 -0500 Subject: [PATCH 6/7] [DOC-12715] Adding on to Ray's documentation to provide a link to Search Request Params. --- modules/vector-search/pages/fine-tune-vector-search.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/vector-search/pages/fine-tune-vector-search.adoc b/modules/vector-search/pages/fine-tune-vector-search.adoc index 1faa32c91..9dff9281c 100644 --- a/modules/vector-search/pages/fine-tune-vector-search.adoc +++ b/modules/vector-search/pages/fine-tune-vector-search.adoc @@ -54,7 +54,7 @@ Vectors are directly stored without the need for additional processing for the ` This is the number of `centroids` that a Search query will check for similar vectors. The `nprobe` value is only set when the Search Service is using an Inverted File Index. The Search Service will select the best index type and comparison method depending on the size of the dataset and your `vector_index_optimized_for` setting. + -(For more information on the `vector_index_optimized_for` setting, see xref:search:search-index-params.adoc#vector-index-optimized-param[Search Index JSON properties ]) +(For more information about the `vector_index_optimized_for` setting, see xref:search:search-index-params.adoc#vector-index-optimized-param[Search Index JSON properties ]) + + [%header, cols="3*a"] @@ -143,6 +143,8 @@ You can add the following parameters to your query: In the example above, the search will be carried out across all the fields, looking for close matches for the numbers specified in `vector`. The parameters have been set to search 1% of the clusters, and 0.2 per cent of the centroids. +For more information about how to set and include these parameters in a Vector Search query, see xref:search:search-request-params.adoc#knn-params[Search Request JSON Properties]. + From bc22817c82a1e3b4f0694d715737022f8927e065 Mon Sep 17 00:00:00 2001 From: Sarah Welton Date: Mon, 18 Nov 2024 09:43:04 -0500 Subject: [PATCH 7/7] [DOC-12715] Comments from peer review --- modules/search/pages/search-request-params.adoc | 4 ++-- modules/vector-search/pages/fine-tune-vector-search.adoc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/search/pages/search-request-params.adoc b/modules/search/pages/search-request-params.adoc index a3cae2984..b5527ced7 100644 --- a/modules/search/pages/search-request-params.adoc +++ b/modules/search/pages/search-request-params.adoc @@ -206,7 +206,7 @@ For more information about the dimension value, see the xref:search-index-params |==== [#knn-params] -=== knn params Object +=== Knn params Object Use the `params` object inside a `knn` object to fine tune the probes and centroids the Search Services uses and searches while running a Vector Search request. @@ -218,7 +218,7 @@ The `params` object can contain the following properties: |ivf_nprobe_pct |Number (percentage) |No a| -Set the `ivf_nprobe_pct` value to control the percentage of clusters that the Search Service searches during a single Vector Search query, or the percentage of probes used. +Set the `ivf_nprobe_pct` value to control the percentage of probes, or the percentage of clusters, that the Search Service searches during a single Vector Search query. The Search Service automatically calculates a default `nprobe` percentage based on the vectors in a given partition of your Vector Search index. For more information about this calculation, see xref:vector-search:fine-tune-vector-search.adoc[]. diff --git a/modules/vector-search/pages/fine-tune-vector-search.adoc b/modules/vector-search/pages/fine-tune-vector-search.adoc index 9dff9281c..7de436c6a 100644 --- a/modules/vector-search/pages/fine-tune-vector-search.adoc +++ b/modules/vector-search/pages/fine-tune-vector-search.adoc @@ -119,7 +119,7 @@ If you have a Vector Search index with `vector_index_optimized_for` set to `"rec == Fine-Tuning Query Parameters -You can add set the values of `ivf_nprobe_pct` and `ivf_max_codes_pct` in your Vector Search queries to tune the recall or accuracy of your search. +You can set the values of `ivf_nprobe_pct` and `ivf_max_codes_pct` in your Vector Search queries to tune the recall or accuracy of your search. You can add the following parameters to your query: