ES-字段是否存在查询

GET index/type/_search
{
  "query": {
    "bool": {
      "must_not": {
        "exists": {
          "field": "字段名"
        }
      }
    }
  }
}


index 索引名称
type  类型

 

GET index/type/_search
{
  "query": {
    "bool": {
      "must": {
        "exists": {
          "field": "字段名"
        }
      }
    }
  }
}

index 索引名称
type  索引类型
Elasticsearch 中添加新的字段通常涉及到索引映射的更新。Elasticsearch Head 是一个用于管理 Elasticsearch 集群的前端工具,它允许用户通过图形界面执行各种操作,包括查看索引信息、执行搜索等。要在 Elasticsearch Head 中添加新字段,你需要先确保目标索引已经正确地定义了该字段的映射。 由于 Elasticsearch 的索引一旦创建后其映射就不可更改,因此添加新字段的方法取决于你是否正在处理一个新的索引或现有索引中的文档类型。对于现有的索引,如果字段尚未存在,则需要重新创建索引并更新映射以包含新字段。以下是针对不同情况的操作指南: ### 创建新索引时添加字段 如果你正在创建一个新的索引,并希望在此过程中添加新字段,可以通过以下步骤完成: 1. 打开 Elasticsearch Head 插件。 2. 转到 "Indices" 标签页。 3. 点击 "Create index" 按钮。 4. 在弹出的窗口中输入索引名称。 5. 在 "Settings" 和 "Mappings" 部分分别配置你的索引设置和字段映射。 6. 确保在 "Mappings" 中定义了你想要添加的新字段及其数据类型。 7. 点击 "Create" 完成索引创建。 ### 向现有索引添加字段 对于已经存在的索引,直接向其中添加字段是不可能的,因为 Elasticsearch 不支持修改已存在的索引映射。但是,你可以采取以下策略间接实现这一需求: 1. 使用 `_reindex` API 将现有索引的数据复制到一个具有新字段映射的新索引中。 ```json POST _reindex { "source": { "index": "old-index" }, "dest": { "index": "new-index-with-new-field" } } ``` 其中 `new-index-with-new-field` 应当事先按照所需的新映射创建好[^4]。 2. 一旦数据迁移完成,可以删除旧索引并使用别名将新索引重命名为原来的索引名,以便应用程序无需更改即可继续工作。 ### 更新文档时自动添加字段 如果尝试向已有的文档中添加新的字段Elasticsearch 会根据动态映射规则自动检测并添加这些字段,前提是索引的 `dynamic` 设置被设为 `true` 或 `strict`。如果是 `strict` 模式,尝试添加未在映射中定义的新字段会导致错误。这种情况下,必须先调整索引的动态映射设置或者按照上述方法创建新的索引。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值