|
@@ -194,26 +194,50 @@ returns this response:
|
|
|
--------------------------------------------------
|
|
|
// TESTRESPONSE
|
|
|
|
|
|
-The configured weight for a suggestion is returned as `_score`.
|
|
|
-The `text` field uses the `input` of your indexed suggestion.
|
|
|
-Suggestions are document oriented, the document source is
|
|
|
-returned in `_source`. <<search-request-source-filtering, source filtering>>
|
|
|
-parameters are supported for filtering the document source.
|
|
|
+
|
|
|
+IMPORTANT: `_source` meta-field must be enabled, which is the default
|
|
|
+behavior, to enable returning `_source` with suggestions.
|
|
|
+
|
|
|
+The configured weight for a suggestion is returned as `_score`. The
|
|
|
+`text` field uses the `input` of your indexed suggestion. Suggestions
|
|
|
+return the full document `_source` by default. The size of the `_source`
|
|
|
+can impact performance due to disk fetch and network transport overhead.
|
|
|
+For best performance, filter out unnecessary fields from the `_source`
|
|
|
+using <<search-request-source-filtering, source filtering>> to minimize
|
|
|
+`_source` size. The following demonstrates an example completion query
|
|
|
+with source filtering:
|
|
|
+
|
|
|
+[source,js]
|
|
|
+--------------------------------------------------
|
|
|
+POST music/_suggest
|
|
|
+{
|
|
|
+ "_source": "completion.*",
|
|
|
+ "song-suggest" : {
|
|
|
+ "prefix" : "nir",
|
|
|
+ "completion" : {
|
|
|
+ "field" : "suggest"
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+--------------------------------------------------
|
|
|
|
|
|
The basic completion suggester query supports the following parameters:
|
|
|
|
|
|
`field`:: The name of the field on which to run the query (required).
|
|
|
`size`:: The number of suggestions to return (defaults to `5`).
|
|
|
-`payload`:: The name of the field or field name array to be returned
|
|
|
- as payload (defaults to no fields).
|
|
|
|
|
|
NOTE: The completion suggester considers all documents in the index.
|
|
|
See <<suggester-context>> for an explanation of how to query a subset of
|
|
|
documents instead.
|
|
|
|
|
|
-NOTE: Specifying `payload` fields will incur additional search performance
|
|
|
-hit. The `payload` fields are retrieved eagerly (single pass) for top
|
|
|
-suggestions at the shard level using field data or from doc values.
|
|
|
+NOTE: In case of completion queries spanning more than one shard, the suggest
|
|
|
+is executed in two phases, where the last phase fetches the relevant documents
|
|
|
+from shards, implying executing completion requests against a single shard is
|
|
|
+more performant due to the document fetch overhead when the suggest spans
|
|
|
+multiple shards. To get best performance for completions, it is recommended to
|
|
|
+index completions into a single shard index. In case of high heap usage due to
|
|
|
+shard size, it is still recommended to break index into multiple shards instead
|
|
|
+of optimizing for completion performance.
|
|
|
|
|
|
[[fuzzy]]
|
|
|
==== Fuzzy queries
|