mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-08 05:58:44 +00:00
e3b7e5d75a
Also replaced the PercolatorQueryRegistry with the new PercolatorQueryCache. The PercolatorFieldMapper stores the rewritten form of each percolator query's xcontext in a binary doc values field. This make sure that the query rewrite happens only during indexing (some queries for example fetch shapes, terms in remote indices) and the speed up the loading of the queries in the percolator query cache. Because the percolator now works inside the search infrastructure a number of features (sorting fields, pagination, fetch features) are available out of the box. The following feature requests are automatically implemented via this refactoring: Closes #10741 Closes #7297 Closes #13176 Closes #13978 Closes #11264 Closes #10741 Closes #4317
43 lines
1.9 KiB
Plaintext
43 lines
1.9 KiB
Plaintext
[[breaking_50_percolator]]
|
|
=== Percolator changes
|
|
|
|
==== Percolator is near-real time
|
|
|
|
Previously percolators were activated in real-time, i.e. as soon as they were
|
|
indexed. Now, changes to the percolator query are visible in near-real time,
|
|
as soon as the index has been refreshed. This change was required because, in
|
|
indices created from 5.0 onwards, the terms used in a percolator query are
|
|
automatically indexed to allow for more efficient query selection during
|
|
percolation.
|
|
|
|
==== Percolate and multi percolator APIs
|
|
|
|
Percolator and multi percolate APIs have been deprecated and will be removed in the next major release. These APIs have
|
|
been replaced by the `percolator` query that can be used in the search and multi search APIs.
|
|
|
|
==== Percolator mapping
|
|
|
|
The `percolator` query can no longer accept documents that reference fields
|
|
that don't already exist in the mapping. Before the percolate API allowed this.
|
|
|
|
The `percolator` query no longer modifies the mappings. Before the percolate API
|
|
could be used to dynamically introduce new fields to the mappings based on the
|
|
fields in the document being percolated. This no longer works, because these
|
|
unmapped fields are not persisted in the mapping.
|
|
|
|
==== Percolator documents returned by search
|
|
|
|
Documents with the `.percolate` type were previously excluded from the search
|
|
response, unless the `.percolate` type was specified explicitly in the search
|
|
request. Now, percolator documents are treated in the same way as any other
|
|
document and are returned by search requests.
|
|
|
|
==== Percolating existing document
|
|
|
|
When percolating an existing document then also specifying a document as source in the
|
|
`percolator` query is not allowed any more. Before the percolate API allowed and ignored
|
|
the existing document.
|
|
|
|
==== Percolate Stats
|
|
|
|
Percolate stats have been replaced with percolator query cache stats in nodes stats and cluster stats APIs. |