1:索引的映射管理

elasticsearch中的文档等价于java中的对象 , 那么在java对象中有字段(比如string、int、long等);

同理在elasticsearch索引中的具体字段也是有类型的;

第一步:默认的插入操作:

PUT /document/article/1
{
"title" : "elasticsearchshi是是什么",
"author" : "zhangsan",
"titleScore" : 60
}

这种操作并没有指定字段类型,那么elasticsearch会自动根据数据类型的格式识别字段的类型;

第二步:查看索引字段类型:

GET /document/article/_mapping

第三步:再插入一条数据:

PUT /document/article/2
{
"title" : "elasticsearchshi是是什么",
"author" : "zhangsan",
"titleScore" : 66.666
}

第四步:GET /document/article/2

上面的操作可能出现的问题:

1):第一步插入过程中titleScore走默认模式创建,为Long类型

2):第三步插入操作,依然能够将"titleScore" : 66.666插入

3):如果此时对接java,做数据的查询封装操作会出现:精度损失现象

综上所述,在实际生产中,创建索引的时候,为了避免上述问题发生以及后续开发过程中可能使用IK分词器,需要进行索引的映射管理

PUT document
{
"mappings": {
  "article" : {
    "properties":
    {
      "title" : {"type": "text"} ,
      "author" : {"type": "text"} ,
      "titleScore" : {"type": "double"}
       
    }
  }
}
}

查询映射信息:

GET /document/article/_mapping

2:索引库配置管理(settings)

所谓的settings就是用来修改索引分片和副本数的;

比如有的重要索引,副本数很少甚至没有副本,那么我们可以通过setting来添加副本数:

PUT document
{
"mappings": {
  "article" : {
    "properties":
    {
      "title" : {"type": "text"} ,
      "author" : {"type": "text"} ,
      "titleScore" : {"type": "double"}
       
    }
  }
}
}

GET /document/_settings

2.1:修改副本数

PUT /document/_settings
{
"number_of_replicas": 2
}

然后在查询副本数:GET /document/_settings

2.2:修改分片数

PUT /document/_settings
{
"number_of_shards": 3
}

此命令一旦执行,会报错;

原因:

当索引不存在的时候,可以指定副本数和分片数
当索引存在的时候,只能指定副本数

es索引基本操作(2)之 索引映射(mappings)管理和索引库配置管理(settings)的更多相关文章

  1. es索引基本操作(1)

    1:创建索引 创建索引的时候可以通过number_of_shards和number_of_replicas来指定当前索引的分片和副本数量: PUT demo_index1   {     " ...

  2. elasticsearch系列二:索引详解(快速入门、索引管理、映射详解、索引别名)

    一.快速入门 1. 查看集群的健康状况 http://localhost:9200/_cat http://localhost:9200/_cat/health?v 说明:v是用来要求在结果中返回表头 ...

  3. elasticsearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解

    一.快速入门1. 查看集群的健康状况http://localhost:9200/_cat http://localhost:9200/_cat/health?v 说明:v是用来要求在结果中返回表头 状 ...

  4. es故障节点恢复后加入集群导致删除索引重新出现

    es的每个shard下的文件都可以看做一个完整的lucene文件,shard数据目录下的segment文件包含了索引的分片数量,副本数量.es shard可以恢复,就是因为每个shard都包含了一份数 ...

  5. MongoDB索引基本操作

    一.简介 在MongoDB建立索引能提高查询效率,只需要扫描索引只存储的这个集合的一小部分,并只把这小部分加载到内存中,效率大大的提高,如果没有建立索引,在查询时,MongoDB必须执行全表扫描,在数 ...

  6. 学习MongoDB 七: MongoDB索引(索引基本操作)(一)

    一.简介 在MongoDB建立索引能提高查询效率,只需要扫描索引只存储的这个集合的一小部分,并只把这小部分加载到内存中,效率大大的提高,如果没有建立索引,在查询时,MongoDB必须执行全表扫描,在数 ...

  7. MySQL系列:索引基本操作(4)

    1. 索引简介 索引是一种特殊的数据库结构,可以用来快速查询数据中的特定记录. MySQL中索引包括:普通索引.唯一性索引.全文索引.单列索引.多列索引和空间索引等. 1.1 索引定义 索引由数据库表 ...

  8. Oracle数据库基本操作(二) —— 视图、序列、索引、同义词

    一.视图(Views)与 同义词 1.视图:实际上是对查询结果集的封装,视图本身不存储任何数据,所有的数据都存放在原来的表中; 在逻辑上可以把视图看作是一张表 2.作用: 封装查询语句,简化复杂的查询 ...

  9. 【译】索引进阶(八):SQL SERVER唯一索引

    [译注:此文为翻译,由于本人水平所限,疏漏在所难免,欢迎探讨指正] 原文链接:传送门. 在本章节我们检查唯一索引.唯一索引的特别之处在于它不仅提供了性能益处,而且提供了数据完整性益处.在SQL SER ...

随机推荐

  1. centos 防火墙 iptables firewalld SELinux

    参考 Centos7 只启用iptables 禁用firewalld功能 java.net.NoRouteToHostException: 没有到主机的路由 相关内容 centos7 中才开始引用fi ...

  2. mybatis字段映射枚举类型

    在底层使用mybatis的时候,我们可能会需要把表里的字段映射到Java里面的枚举类,现总结下工作中的用法: sku表里一个status_type字段为int类型.(这里是postgresql的脚本) ...

  3. [LeetCode] 完全二叉树的节点个数

    题目链接: https://leetcode-cn.com/problems/count-complete-tree-nodes 难度:中等 通过率:57.4% 题目描述: 给出一个 完全二叉树 ,求 ...

  4. TCP和UDP头部格式的了解?

    tcp头部格式如下图所示: 1.源端口号,16位,发送方的端口号. 2.目标端口号,16位,发送方的目标端口号. 3.  32为序列号,sequence number,保证网络传输数据的顺序性. 4. ...

  5. MYSQL 的事物处理(四大特性)

    什么是事物? MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库 ...

  6. [转载]Jupyter Notebook中自动补全代码

    原文地址:https://yq.aliyun.com/articles/667928 在公众号之前的文章中,已经介绍了在Jupyter Notebook中设置主题以及输出代码文件到pdf文件中,本文来 ...

  7. PHPStorm开启MiniMap功能

    Sublime Text 右侧的代码导航(MiniMap)功能相当好用,PHPStorm第三方插件,可以实现相同功能. 只需要下载 CodeGlance 插件即可,如下操作

  8. vue项目报错1 Vue is a constructor and should be called with the `new` keyword && jquery.js?eedf:3850 Uncaught TypeError: this._init is not a function...

    Vue is a constructor and should be called with the `new` keyword Uncaught TypeError: this._init is n ...

  9. ALV打印不显示打印界面的问题

    用OO的方式screen0 不画屏幕会产生这个问题,解决办法就是不用screen0 要自己画一个区域

  10. AIX中逻辑卷管理

    1.逻辑卷管理 逻辑卷的大小确定: 逻辑卷大小(MB)=PP的大小(MB)*LV包含的LP的个数 LV占用的物理空间(MB)=PP的大小(MB)*LV包含的LP的个数*LV拷贝的副本数   逻辑卷控制 ...