elasticsearch5.0.0版本搜索和DSL的變化

搜索和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)原創,轉載請標明做者和出處。

相關文章
相關標籤/搜索