Elasticsearch7.x版本_all與copy_to

1. copy_to

_all7.x版本已經被copy_to所代替,可用於滿足特定場景。copy_to將字段數值拷貝到目標字段,實現類似_all的作用。

注意:
copy_to的目標字段不出現在_source

2. 實例

#設置 Copy to
PUT user_test
{
  "mappings": {
    "properties": {
      "firstName":{
        "type": "text",
        "copy_to": "fullName"
      },
      "lastName":{
        "type": "text",
        "copy_to": "fullName"
      }
    }
  }
}
 
PUT user_test/_doc/1
{
  "firstName":"Ruan",
  "lastName": "Yiming"
}
 
POST user_test/_search?q=fullName:(Ruan Yiming

3. 注意事項

如果創建ES索引時使用的是strict模式(dynamic:strict 不允許動態映射新的字段),則需要在創建索引時額外創建copy_to的字段,例如本實例中,如果索引user_test創建時設置爲strict模式,則mapping信息中應加入fullName字段,否則插入數據時會報錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章