123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- [[breaking_50_search_changes]]
- === Search and Query DSL changes
- ==== `search_type`
- ===== `search_type=count` removed
- The `count` search type was deprecated since version 2.0.0 and is now removed.
- In order to get the same benefits, you just need to set the value of the `size`
- parameter to `0`.
- For instance, the following request:
- [source,sh]
- ---------------
- GET /my_index/_search?search_type=count
- {
- "aggs": {
- "my_terms": {
- "terms": {
- "field": "foo"
- }
- }
- }
- }
- ---------------
- can be replaced with:
- [source,sh]
- ---------------
- GET /my_index/_search
- {
- "size": 0,
- "aggs": {
- "my_terms": {
- "terms": {
- "field": "foo"
- }
- }
- }
- }
- ---------------
- ===== `search_type=scan` removed
- The `scan` search type was deprecated since version 2.1.0 and is now removed.
- All benefits from this search type can now be achieved by doing a scroll
- request that sorts documents in `_doc` order, for instance:
- [source,sh]
- ---------------
- GET /my_index/_search?scroll=2m
- {
- "sort": [
- "_doc"
- ]
- }
- ---------------
- Scroll requests sorted by `_doc` have been optimized to more efficiently resume
- from where the previous request stopped, so this will have the same performance
- characteristics as the former `scan` search type.
- ==== `fields` parameter
- The `fields` parameter used to try to retrieve field values from stored
- fields, and fall back to extracting from the `_source` if a field is not
- marked as stored. Now, the `fields` parameter will only return stored fields
- -- it will no longer extract values from the `_source`.
- ==== search-exists API removed
- The search exists api has been removed in favour of using the search api with
- `size` set to `0` and `terminate_after` set to `1`.
- ==== Deprecated queries removed
- The following deprecated queries have been removed:
- `filtered`:: Use `bool` query instead, which supports `filter` clauses too.
- `and`:: Use `must` clauses in a `bool` query instead.
- `or`:: Use `should` clauses in a `bool` query instead.
- `limit`:: Use the `terminate_after` parameter instead.
- `fquery`:: Is obsolete after filters and queries have been merged.
- `query`:: Is obsolete after filters and queries have been merged.
- `query_binary`:: Was undocumented and has been removed.
- `filter_binary`:: Was undocumented and has been removed.
- ==== Changes to queries
- * Removed support for the deprecated `min_similarity` parameter in `fuzzy
- query`, in favour of `fuzziness`.
- * Removed support for the deprecated `fuzzy_min_sim` parameter in
- `query_string` query, in favour of `fuzziness`.
- * Removed support for the deprecated `edit_distance` parameter in completion
- suggester, in favour of `fuzziness`.
- * Removed support for the deprecated `filter` and `no_match_filter` fields in `indices` query,
- in favour of `query` and `no_match_query`.
- * Removed support for the deprecated `filter` fields in `nested` query, in favour of `query`.
- * Removed support for the deprecated `minimum_should_match` and
- `disable_coord` in `terms` query, use `bool` query instead. Also removed
- support for the deprecated `execution` parameter.
- * Removed support for the top level `filter` element in `function_score` query, replaced by `query`.
- * The `collect_payloads` parameter of the `span_near` query has been deprecated. Payloads will be loaded when needed.
- * The `score_type` parameter to the `nested` and `has_child` queries has been
- removed in favour of `score_mode`. The `score_mode` parameter to `has_parent`
- has been deprecated in favour of the `score` boolean parameter. Also, the
- `total` score mode has been removed in favour of the `sum` mode.
- * When the `max_children` parameter was set to `0` on the `has_child` query
- then there was no upper limit on how many child documents were allowed to
- match. Now, `0` really means that zero child documents are allowed. If no
- upper limit is needed then the `max_children` parameter shouldn't be specified
- at all.
- * The `exists` query will now fail if the `_field_names` field is disabled.
- ==== Top level `filter` parameter
- Removed support for the deprecated top level `filter` in the search api,
- replaced by `post_filter`.
- ==== Highlighters
- Removed support for multiple highlighter names, the only supported ones are:
- `plain`, `fvh` and `postings`.
- ==== Term vectors API
- The term vectors APIs no longer persist unmapped fields in the mappings.
- The `dfs` parameter to the term vectors API has been removed completely. Term
- vectors don't support distributed document frequencies anymore.
- ==== Sort
- The `reverse` parameter has been removed, in favour of explicitly
- specifying the sort order with the `order` option.
- ==== Inner hits
- * Top level inner hits syntax has been removed. Inner hits can now only be specified as part of the `nested`,
- `has_child` and `has_parent` queries. Use cases previously only possible with top level inner hits can now be done
- with inner hits defined inside the query dsl.
|