ES操作文档的语法和动态映射

文档操作

语法参考:

Document APIs | Elasticsearch Guide [7.4] | Elastic

新增与修改文档

PUT /索引库名/_doc/文档id
{
	"key": value,
	...
	"key": value
}

注意:如果文档IP不存在是新增

           如果存在是修改文档,会直接覆盖掉原文档  

查看文档

GET /索引库名/_doc/id

修改文档(增量)

POST /索引库名/_update/文档id
{
	"doc":{
		"字段1": 值1,
		"字段2": 值2,
		...
	}
}

注:在原文档基础上进行修改某些字段

删除文档

DELETE /索引库名/_doc/id值

动态映射

解决问题

如果新增文档的结构,与mapping结构不一致 ,es会检查文档中的字段是否有对应的mapping,如果没有,则按照默认的mapping规则来创建索引

例如

//插入的文档结构,与mapping结构不符。
//itcast索引库中原本没有color、weight、isSoldOut三个字段
PUT /itcast/_doc/2
{
  "title": "字符串",
  "price": 819,
  "images": "http://www.jd.com/xxxx.jpg",
  "quantity": 150,
  "weight": 0.22,
  "color": "black",
  "isSoldOut": false
}

查询映射看看:GET /itcast/_mapping

{
  "itcast" : {
    "mappings" : {
      "properties" : {
        "color" : { //增加了color字段,是字符串。ES无法判断类型,
                    //因此存储了两种映射类型。color是text类型,
                    //color.keyword是keyword类型
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "images" : {
          "type" : "keyword",
          "index" : false
        },
        "isSoldOut" : { //增加了isSoldOut字段,类型boolean
          "type" : "boolean"
        },
        "price" : {
          "type" : "double"
        },
        "quantity" : {
          "type" : "integer"
        },
        "title" : {
          "type" : "text",
          "analyzer" : "ik_smart"
        },
        "weight" : { //增加了weight字段,类型float
          "type" : "float"
        }
      }
    }
  }
}

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch是一个分布式的实时搜索和分析引擎,它可以在海量数据中快速地进行搜索、存储和分析。下面是ElasticSearch相关设计文档的概述: 1. 数据建模设计:Elasticsearch中的数据建模是基于文档的,因此需要根据需求设计适合的文档结构。在设计文档结构时,需要考虑字段类型、索引类型、分析器等因素。 2. 索引设计:索引是Elasticsearch中存储和搜索数据的基本单位。在设计索引时,需要考虑数据的分片和副本,以及数据的存储和搜索需求。 3. 映射设计:映射是指文档结构和索引结构之间的映射关系。在设计映射时,需要考虑文档结构和索引结构之间的匹配关系,以及字段类型、分析器等因素。 4. 分析器设计:分析器是Elasticsearch中用于处理文本的工具,它可以对文本进行分词、过滤等操作。在设计分析器时,需要考虑分析器的类型、分词器、过滤器等因素。 5. 查询设计:查询是Elasticsearch中进行搜索的基本方式。在设计查询时,需要考虑查询的类型、查询条件、查询语法等因素。 6. 性能优化设计:性能优化是Elasticsearch中非常重要的一项工作。在设计性能优化方案时,需要考虑数据的存储和搜索需求、硬件配置、索引和查询的优化等因素。 7. 监控和维护设计:监控和维护是Elasticsearch中保证系统稳定性和可靠性的关键。在设计监控和维护方案时,需要考虑系统的健康状态、节点状态、索引状态、搜索性能等因素。 以上是ElasticSearch相关设计文档的概述,具体实现上还需要根据具体的需求和场景进行详细的设计和实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值