搜索和DSL查詢的變化node
一、search_type=count參數移除,這個是在2.0版本中已經不推薦使用的了,取而代之的是用查詢,size設爲0.算法
POST /my_index/_search { "size": 0, "aggs": { "my_terms": { "terms": { "field": "foo" } } } }
二、search_type=scan參數移除,這個是在2.1版本中已經不推薦使用的了。如今滾動請求用_doc排序達到一樣的效果。post
POST /my_index/_search?scroll=2m { "sort": [ "_doc" ] }
三、分片查詢限制,在1000個之內,由於分片查詢會消耗大量的內存和cpu,若是想要繞開這個限制,須要在配置文件中修改參數:action.search.shard_count.limit。ui
3.一、fields參數將被stored_fields參數替換,它只返回存儲的字段,將不在從 _source字段中獲取。spa
3.二、fielddata_fields參數將被docvalue_fields參數替換。orm
3.三、是否存在接口取消,取而代之的是用查詢得到,參數size設爲0,terminate_after設置爲1。排序
四、查詢變化索引
4.一、不支持geo_point的term查詢。接口
4.二、fuzzy查詢在numeric, date,ip字段中失效,取而代之的是範圍查詢。ip
4.三、在_uid和_id字段中查詢range和prefix將不被支持。
4.四、查詢不存在的索引將返回失敗,而不是返回no hits。
4.五、在fuzzy查詢中將不支持min_similarity參數。
4.六、在query_string查詢中將不支持fuzzy_min_sim參數。
4.七、在completion suggester中取消edit_distance參數。
4.八、在索引查詢中將不在支持no_match_filter參數。
4.九、在嵌套查詢中將不在支持filter字段查詢。
4.十、在term查詢中將不在支持minimum_should_match和disable_coord,取消了execution參數。
4.十一、在_score查詢中取消了top level過濾。
4.十二、在span_near查詢中取消了collect_payloads參數。
4.1三、在 nested和has_child查詢中取消了score_type參數, has_parent查詢中取消了score_mode,同時取消了 total score mode。
4.1四、在has_child查詢中max_children參數在之前的版本中設置爲0表示沒有限制,如今表示0.
4.1五、若是_field_names字段被禁用時, exists查詢將返回失敗。
4.1六、若是cross_fields,phrase,phrase_prefix類型中有模糊(fuzziness),則multi_match查詢將失敗。
4.1七、GeoPolygonQuery,GeoDistanceQuery,GeoBoundingBoxQuery查詢中coerce, normalize, ignore_malformed參數將失效,用validation_method 參數代替。
4.1八、geo_distance_range 查詢將取消,將用geo_distance聚合來代替。
4.1九、在search接口中top level過濾將取消,用post_filter來代替。
4.20、多個高亮顯示名稱將不被支持,惟一支持的是plain, fvh and postings。
4.2一、term vectors API再也不堅持未映射的字段的映射。DFS參數在term vectors API中已經被徹底刪除。
4.2二、reverse參數在排序中將被取消,在validation_method方法中取消coerce和ignore_malformed參數。
4.2三、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)原創,轉載請標明做者和出處。