Update breaking changes for completion suggester
To indicate we removed completion payload option in favour of returning document source with completion suggestions
This commit is contained in:
parent
5a48ad661d
commit
c869ca18eb
|
@ -25,35 +25,46 @@ to suggestion entries for both context and completion suggesters.
|
||||||
|
|
||||||
==== Completion suggester is document-oriented
|
==== Completion suggester is document-oriented
|
||||||
|
|
||||||
Suggestions are aware of the document they belong to. This enables
|
Suggestions are aware of the document they belong to. Now, associated
|
||||||
retrieving any field value from the document. This is exposed
|
documents (`_source`) are returned as part of `completion` suggestions.
|
||||||
through the query-time `payload` option in `completion` and `context`
|
|
||||||
suggesters:
|
|
||||||
|
|
||||||
[source,sh]
|
WARNING: `_source` meta-field must be enabled, which is the default behavior,
|
||||||
---------------
|
to enable returning `_source` with suggestions.
|
||||||
GET /my_index/_search
|
|
||||||
{
|
|
||||||
"suggest": {
|
|
||||||
"fooSuggestion": {
|
|
||||||
"text": "f"
|
|
||||||
"completion": {
|
|
||||||
"field": "fooSuggest",
|
|
||||||
"payload": ["field1", "field2"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
---------------
|
|
||||||
|
|
||||||
Previously, `context` and `completion` suggesters supported an index-time
|
Previously, `context` and `completion` suggesters supported an index-time
|
||||||
`payloads` option, which was used to store and return metadata with suggestions.
|
`payloads` option, which was used to store and return metadata with suggestions.
|
||||||
Now metadata can be stored as a field in the same document as the
|
Now metadata can be stored as part of the the same document as the
|
||||||
suggestion for enabling retrieval at query-time. The support for
|
suggestion for retrieval at query-time. The support for index-time `payloads`
|
||||||
index-time `payloads` has been removed to avoid bloating the in-memory
|
has been removed to avoid bloating the in-memory index with suggestion metadata.
|
||||||
index with suggestion metadata. The time that it takes to retrieve payloads
|
|
||||||
depends heavily on the size of the `_source` field. The smaller the `_source`,
|
In case of completion queries spanning more than one shard, the suggest is executed
|
||||||
the faster the retrieval.
|
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.
|
||||||
|
|
||||||
|
Completion results 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
==== Simpler completion indexing
|
==== Simpler completion indexing
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue