搜索和DSL查询的变化
1、search_type=count参数移除,这个是在2.0版本中已经不推荐使用的了,取而代之的是用查询,size设为0.
POST /my_index/_search { "size": 0, "aggs": { "my_terms": { "terms": { "field": "foo" } } } }
2、search_type=scan参数移除,这个是在2.1版本中已经不推荐使用的了。现在滚动请求用_doc排序达到同样的效果。
POST /my_index/_search?scroll=2m { "sort": [ "_doc" ] }
3、分片查询限制,在1000个以内,因为分片查询会消耗大量的内存和cpu,如果想要绕开这个限制,需要在配置文件中修改参数:action.search.shard_count.limit。
3.1、fields参数将被stored_fields参数替换,它只返回存储的字段,将不在从 _source字段中获取。
3.2、fielddata_fields参数将被docvalue_fields参数替换。
3.3、是否存在接口取消,取而代之的是用查询获得,参数size设为0,terminate_after设置为1。
4、查询变化
4.1、不支持geo_point的term查询。
4.2、fuzzy查询在numeric, date,ip字段中失效,取而代之的是范围查询。
4.3、在_uid和_id字段中查询range和prefix将不被支持。
4.4、查询不存在的索引将返回失败,而不是返回no hits。
4.5、在fuzzy查询中将不支持min_similarity参数。
4.6、在query_string查询中将不支持fuzzy_min_sim参数。
4.7、在completion suggester中取消edit_distance参数。
4.8、在索引查询中将不在支持no_match_filter参数。
4.9、在嵌套查询中将不在支持filter字段查询。
4.10、在term查询中将不在支持minimum_should_match和disable_coord,取消了execution参数。
4.11、在_score查询中取消了top level过滤。
4.12、在span_near查询中取消了collect_payloads参数。
4.13、在 nested和has_child查询中取消了score_type参数, has_parent查询中取消了score_mode,同时取消了 total score mode。
4.14、在has_child查询中max_children参数在以前的版本中设置为0表示没有限制,现在表示0.
4.15、如果_field_names字段被禁用时, exists查询将返回失败。
4.16、如果cross_fields,phrase,phrase_prefix类型中有模糊(fuzziness),则multi_match查询将失败。
4.17、GeoPolygonQuery,GeoDistanceQuery,GeoBoundingBoxQuery查询中coerce, normalize, ignore_malformed参数将失效,用validation_method 参数代替。
4.18、geo_distance_range 查询将取消,将用geo_distance聚合来代替。
4.19、在search接口中top level过滤将取消,用post_filter来代替。
4.20、多个高亮显示名称将不被支持,唯一支持的是plain, fvh and postings。
4.21、term vectors API不再坚持未映射的字段的映射。DFS参数在term vectors API中已经被完全删除。
4.22、reverse参数在排序中将被取消,在validation_method方法中取消coerce和ignore_malformed参数。
4.23、Top level inner hits语法被取消,inner hits只能在存在nested, has_child,has_parent查询中一部分。
查询分析器:
在profiling查询的返回值中,query_type改名为type,lucene改名为description
搜索偏好:
在搜索偏好_only_node被删除,可以用_only_nodes和指定的node ID来实现。_only_nodes替换了_only_node的功能,_only_node不支持多个节点。preference _shards参数接收用|分来的第二个参数,例如_shards:2,3|_primary。
默认使用BM25评分算法,替换之前的TF/IDF。
fields字段被修改为stored_fields。
本文由赛克 蓝德(secisland)原创,转载请标明作者和出处。