6.x/8. Breaking Changes

v6.0-18. Search and Query DSL changes

drscg 2017. 12. 20. 17:17

Changes to queriesedit

  • The collect_payloads parameter of the span_near query has been removed. Payloads will be loaded when needed.

    span_near query의 collect_payloads 매개변수는 제거되었다. 필요한 경우 payload가 load된다.

  • Queries on boolean fields now strictly parse boolean-like values. This means only the strings "true" and "false" will be parsed into their boolean counterparts. Other strings will cause an error to be thrown.

    boolean field에 대한 query는 이제 boolean과 비슷한 값을 엄격하게 구문 분석한다. 즉, 문자열 "true" 와 "false" 만이 boolean 값으로 parsing된다 다른 문자열은 오류가 발생한다.

  • The in query (a synonym for the terms query) has been removed

    in query(terms query와 같은 의미)는 제거되었다.

  • The geo_bbox query (a synonym for the geo_bounding_box query) has been removed

    geo_bbox query(geo_bounding_box query와 같은 의미)는 제거되었다.

  • The mlt query (a synonym for the more_like_this query) has been removed.

    mlt query(more_like_this query와 같은 의미)는 제거되었다.

  • The deprecated like_textids and docs parameters (all synonyms for like) of the more_like_this query have been removed. Also the deprecated min_word_len (a synonym for min_word_length) and max_word_len (a synonym for max_word_length) have been removed.

    more_like_this query의 deprecate된 like_textidsdocs 매개변수는 제거되었다. 또한, deprecate된 min_word_len(min_word_length 와 같은 의미), max_word_len(max_word_length 와 같은 의미)도 제거되었다.

  • The fuzzy_match and match_fuzzy query (synonyma for the match query) have been removed

    fuzzy_matchmatch_fuzzy query(match query와 같은 의미)는 제거되었다.

  • The terms query now always returns scores equal to 1 and is not subject toindices.query.bool.max_clause_count anymore.

    이제 terms query는 항상 동일한 score 1 을 return하고, indices.query.bool.max_clause_count의 대상이 아니다.

  • The deprecated indices query has been removed.

    deprecate된 indices query는 제거되었다.

  • Support for empty query objects ({ }) has been removed from the query DSL. An error is thrown whenever an empty query object is provided.

    query DSL에서 empty query object({ })에 대한 지원은 제거되었다. empty query object를 제공하면 error가 발생한다.

  • The deprecated minimum_number_should_match parameter in the bool query has been removed, use minimum_should_match instead.

    bool query에서 deprecat된 minimum_number_should_match 매개변수는 제거되었다. 대신, minimum_should_match 을 사용하자

  • The query_string query now correctly parses the maximum number of states allowed when "determinizing" a regex as max_determinized_states instead of the typomax_determined_states.

    이제 query_string query는 정규식이 max_determined_states 대신 max_determinized_states 로 "결정될" 경우, 허용되는 최대 state 수를 올바르게 parsing한다.

  • The query_string query no longer accepts enable_position_increment, useenable_position_increments instead.

    query_string query는 enable_position_increment 를 허용하지 않는다. enable_position_increments 대신 를 사용하자.

  • For geo_distance queries, sorting, and aggregations the sloppy_arc option has been removed from the distance_type parameter.

    geo_distance query, sorting, and aggregation에 대하여, distance_type 매개변수에 대한 sloppy_arc option이 제거되었다.

  • The geo_distance_range query, which was deprecated in 5.0, has been removed.

    5.0에서 deprecate된 geo_distance_range query는 제거되었다.

  • The optimize_bbox parameter has been removed from geo_distance queries.

    geo_distance query에서 optimize_bbox 매개변수는 제거되었다.

  • The ignore_malformed and coerce parameters have been removed from geo_bounding_boxgeo_polygon, and geo_distance queries.

    geo_bounding_boxgeo_polygongeo_distance query에서 ignore_malformedcoerce 매개변수는 제거되었다.

  • The disable_coord parameter of the bool and common_terms queries has been removed. If provided, it will be ignored and issue a deprecation warning.

    bool 과 common_terms query에서 disable_coord 매개변수는 제거되었다. 만약 사용하면 무시되고 deprecation warning이 발생한다.

  • The template query has been removed. This query was deprecated since 5.0

    template query가 제거되었다. 이 query는 5.0에서 deprecate되었다.

  • The percolate query’s document_type has been deprecated. From 6.0 and later it is no longer required to specify the document_type parameter.

    percolate query의 document_type 이 deprecate되었다. 6.0 이후로 document_type 매개변수가 지정될 필요는 없다.

  • The split_on_whitespace parameter for the query_string query has been removed. If provided, it will be ignored and issue a deprecation warning. The query_string query now splits on operator only.

    query_string query의 split_on_whitespace 매개변수는 제거되었다. 만약 사용하면 무시되고 deprecation warning이 발생한다. 이제 query_string query는 operator만으로 분할된다.

  • The use_dis_max parameter for the query_string query has been removed. If provided, it will be ignored and issue a deprecation warning. The tie_breaker parameter must be used instead.

    query_string query의 use_dis_max 매개변수는 제거되었다. 만약 사용하면 무시되고 deprecation warning이 발생한다. 대신 tie_breaker 매개변수가 사용되어야 한다.

  • The auto_generate_phrase_queries parameter for the query_string query has been removed, use an explicit quoted query instead. If provided, it will be ignored and issue a deprecation warning.

    query_string query의 auto_generate_phrase_queries 매개변수는 제거되었다. 대신 명시적으로 인용된 query를 사용하자. 만약 사용하면 무시되고 deprecation warning이 발생한다.

  • The all_fields parameter for the query_string and simple_query_string has been removed. Set default_field to * instead. If provided, default_field will be automatically set to *

    query_stringsimple_query_string query의 all_fields 매개변수는 제거되었다. 대신 default_field 에 * 를 설정하자. 만약 사용하면 default_field 는 자동으로 * 으로 설정된다.

  • The index parameter in the terms filter, used to look up terms in a dedicated index is now mandatory. Previously, the index defaulted to the index the query was executed on. Now this index must be explicitly set in the request.

    terms filter에서, 전용 index에서 term을 찾는데 사용되는 index 매개변수는 이제 필수이다. 이전에는 query가 실행된 index로 기본 설정되었습니다. 이제 이 index는 request에 명시적으로 설정되어야 한다.

  • The deprecated type and slop parameter for the match query have been removed. Instead of setting the type, the match_phrase or match_phrase_prefix should be used. The slopremoved from the match query but is supported for match_phrase and match_phrase_prefix.

    match query에서 deprecate된 type 과 slop 매개변수는 이제 제거되었다. type 을 설정하는 대신 match_phrase 나 match_phrase_prefix 가 사용되어야 한다. match query에서 제거된 slop 매개변수는 match_phrase 과 match_phrase_prefix 에 대해서는 지원된다.

  • The deprecated phrase_slop parameter (a synonym for the slop parameter) of the match_phrase query has been removed.

    match_phrase query의 deprecate된 phrase_slop 매개변수(slop 매개변수와 같은 의미)는 제거되었다.

  • The deprecated query parameter (a synonym for the filter parameter) of the constant_score query has been removed.

    constant_score query의 deprecate된 query 매개변수(filter 매개변수와 같은 의미)는 제거되었다.

  • The deprecated phrase_slop parameter (a synonym for the slop parameter) of the multi_match query has been removed.

    multi_match query의 deprecate된 phrase_slop 매개변수(slop 매개변수와 같은 의미)는 제거되었다.

  • The deprecated prefix parameter (a synonym for the value parameter) of the prefix query has been removed.

    prefix query의 deprecate된 prefix 매개변수(value 매개변수와 같은 의미)는 제거되었다.

  • The deprecated le (a synonym for lte) and ge (a synonym for gte) parameter of the rangequery have been removed.

    range query의 deprecate된 le(lte 와 같은 의미) 와 ge (gte 와 같은 의미) 매개변수는 제거되었다.

  • The deprecated multi term rewrite parameters constant_score_autoconstant_score_filter(synonyms for constant_score) have been removed.

    deprecate된 constant_score_autoconstant_score_filter 매개변수(constant_score 매개변수와 같은 의미)는 제거되었다.

Search shards APIedit

The search shards API no longer accepts the type url parameter, which didn’t have any effect in previous versions.

The search shards API는 더 이상 type url 매개변수를 허용하지 않는다. 이전 버전에서 아무런 효과도 없었다.

Changes to the Profile APIedit

The "time" field showing human readable timing output has been replaced by the "time_in_nanos"field which displays the elapsed time in nanoseconds. The "time" field can be turned on by adding"?human=true" to the request url. It will display a rounded, human readable time value.

인간이 읽을 수 있는 시간 값을 출력하는 "time" field는 "time_in_nanos" field로 대체되었다. 이 field는 경과된 시간을 nanosecond로 표시한다. "time" field는 request url에 "?human=true" 를 추가함으로써 가능하다. 반올림되고 인간이 읽을 수 있는 시간 값을 출력한다.

Scoring changesedit

Query normalizationedit

Query normalization has been removed. This means that the TF-IDF similarity no longer tries to make scores comparable across queries and that boosts are now integrated into scores as simple multiplicative factors.

query normalization가 제거되었다. 즉, query들간에 score를 비교하기 위해 TF-IDF similarity을 더 이상 시도하지 않으며, 해당 boost는 이제 단순한 곱셈적 요소로 score에 통합된다.

Other similarities are not affected as they did not normalize scores and already integrated boosts into scores as multiplicative factors.

다른 similarity는 score를 정규화하지 않았고 이미 곱셈적 요소로 score에 boost를 통합하지 않았기 때문에 영향을 받지 않는다.

See LUCENE-7347 for more information.

더 많은 정보는 LUCENE-7347를 참고하자.

Coordination factorsedit

Coordination factors have been removed from the scoring formula. This means that boolean queries no longer score based on the number of matching clauses. Instead, they always return the sum of the scores of the matching clauses.

score 계산 공식에서 coordination factor가 제거되었습니다. 즉, boolean query는 더 이상 일치하는 절의 수에 따라 score를 계산하지 않는다. 대신 항상 일치하는 절의 score의 합을 return한다.

As a consequence, use of the TF-IDF similarity is now discouraged as this was an important component of the quality of the scores that this similarity produces. BM25 is recommended instead.

결과적으로, TF-IDF similarity의 사용은, 이것이 similarity이 산출하는 score의 질의 중요한 구성 요소 였기 때문에, 이제는 권장하지 않습니다. 대신 BM25가 권장된다..

See LUCENE-7347 for more information.

더 많은 정보는 LUCENE-7347를 참고하자.

Fielddata on _uidedit

Fielddata on _uid is deprecated. It is possible to switch to _id instead but the only reason why it has not been deprecated too is because it is used for the random_score function. If you really need access to the id of documents for sorting, aggregations or search scripts, the recommendation is to duplicate the id as a field in the document.

_uid 의 fielddata는 deprecate되었다. 대신 _id 로 전환하는 것이 가능하지만, 예전에 deprecat되지 않은 유일한 이유는 random_score function에 사용되기 때문이다. sorting, aggregation or search script를 위해 document의 id에 실제로 access해야 하는 경우, id를 document의 field로 복제하는 것이 좋다.

Highlightersedit

The unified highlighter is the new default choice for highlighter. The offset strategy for each field is picked internally by this highlighter depending on the type of the field (index_options). It is still possible to force the highlighter to fvh or plain types.

unified highlighter은 highlighter의 새로운 기본 선택값이다. 각 field의 offset strategy은 field type(index_options)에 따라 이 highlighter에 의해 내부적으로 선택된다. highlighter을 fvh 또는 plaintype으로 하는 것도 여전히 가능하다.

The postings highlighter has been removed from Lucene and Elasticsearch. The unified highlighter outputs the same highlighting when index_options is set to offsets.

postings highlighter는 Lucene과 Elasticsearch에서 제거되었다. unified highlighter는 index_options이 offsets 로 설정되었을 때 동일한 highlight를 출력한다.

fielddata_fieldsedit

The deprecated fielddata_fields have now been removed. docvalue_fields should be used instead.

deprecate된 fielddata_fields 는 제거되었다. 대신 docvalue_fields 가 사용되어야 한다.

docvalue_fieldsedit

docvalue_fields now have a default upper limit of 100 fields that can be requested. This limit can be overridden by using the index.max_docvalue_fields_search index setting.

이제 docvalue_fields 는 request할 수 있는 100 개 field의 기본 상한을 가진다. 이 제한은 index.max_docvalue_fields_search index 설정을 사용하여 무시할 수 있다.

script_fieldsedit

script_fields now have a default upper limit of 32 script fields that can be requested. This limit can be overridden by using the index.max_script_fields index setting.

script_fields 는 이제 request할 수 있는 32 개 script field의 기본 상한을 가진다. 이 제한은 index.max_script_fields index 설정을 사용하여 무시할 수 있다.

Inner hitsedit

The source inside a hit of inner hits keeps its full path with respect to the entire source. In prior versions the source field names were relative to the inner hit.

inner hits의 hit 내부의 source는 전체 source에 대한 전체 경로를 유지한다. 이전 버전에서 source field 이름은 inner hit에 상대적이었다.

Scrolledit

The from parameter can no longer be used in the search request body when initiating a scroll. The parameter was already ignored in these situations, now in addition an error is thrown.

scroll을 시작할 때 search request body에서 from 매개변수를 더 이상 사용할 수 없다. 이러한 상황에서는 매개변수가 이미 무시되었으며, 이제는 오류가 발생한다

Limit on from/size in top hits and inner hitsedit

The maximum number of results (from + size) that is allowed to be retrieved via inner hits and top hits has been limited to 100. The limit can be controlled via the index.max_inner_result_windowindex setting.

inner hits와 top hits를 통해 가져올 수 있는 결과의 최대 수(from +size)는 100으로 제한되었다. 이 제한은 index.max_inner_result_window index 설정을 통해 제어할 수 있다.

Scroll queries that use the request_cache are deprecatededit

Setting request_cache:true on a query that creates a scroll ('scroll=1m`) is deprecated and the request will not use the cache internally. In future versions we will return a 400 - Bad requestinstead of just ignoring the hint. Scroll queries are not meant to be cached.

scroll을 생성(scroll= 1m)하는 query에 request_cache:true 를 설정하는 것은 deprecate되었고, request는 내부적으로 cache를 사용하지 않을 것이다. 이후 버전에서는 hint를 무시하는 대신 400 - Bad request 를 return할 것이다. Scroll query는 caching되지 않는다.


'6.x > 8. Breaking Changes' 카테고리의 다른 글

v6.0-20. Stats and info changes  (0) 2017.12.20
v6.0-19. Settings changes  (0) 2017.12.20
v6.0-17. Scripting changes  (0) 2017.12.20
v6.0-16. REST changes  (0) 2017.12.20
v6.0-15. Reindex changes  (0) 2017.12.20