es elasticsearch 九 索引index 定制分词器 type结构后期弃用原因 定制动态映射 动态映射模板 零停机重建索引

目录

索引index

定制分词器

Type底层结构及弃用原因

定制 dynamic mapping

定制dynamic mapping template 动态映射模板

零停机重建索引

生产环境应该度别名数据


索引index

Put /index

Stings 分片

Mapping 映射

Aliases 别名

增加

Put my_index2

{

       "settings":{

          "number_of_shards":3,

          "number_of_replicas":1

  },

  "mappings":{

    "properties":{

      "name":{"type":"text"}

    }

  },

  "aliases":{

    "default_index":{}

   

  }

}

Default_index 别名 也可以用来查询

Get default_index/_doc/1

获取索引信息

Get myindex

修改索引

 

删除必须设置索引名 防止 delete /_all 删除全部索引

 

定制分词器

delete my_inde

#定制分词器

put /my_index

{

  "settings":{

    "analysis":{

      "analyzer":{

        "es_std":{

          "type":"standard",

          "stopwords":"_english_"

        }

      }

    }

  }

}

#测试标准分词器

get /my_index/_analyze

{

  "analyzer":"standard",

  "text":"a dog is in the house helloword"

}

#测试自定义分词器

get /my_index/_analyze

{

  "analyzer":"es_std",

  "text":"a dog is in the house helloword"

}

delete /my_index

#定制分词器详细过程

#char_filter 预处理阶段 & 转and 分词器

#filter 停用词策略 the a 取消分词

#analyzer 定制分词器

# "char_filter":["html_strip","&_to_and"],  标签 分词器

put /my_index

{

  "settings":{

    "analysis":{

      "char_filter":{

        "&_to_and":{

          "type":"mapping",

          "mappings":["&=> and"]

        }

      },

      "filter":{

        "my_stopwords":{

          "type":"stop",

          "stopwords":["the","a"]

        }

      },

      "analyzer":{

        "my_analyzer":{

          "type":"custom",

          "char_filter":["html_strip","&_to_and"],

          "tokenizer":"standard",

          "filter":["lowercase","my_stopwords"]

        }

      }

    }

  }

}

#测试

#& 变成 and  the 消失  测试成功

get /my_index/_analyze

{

  "analyzer":"my_analyzer",

  "text":"a dog is & in the house helloword"

}

Type底层结构及弃用原因

预计Es 9 后彻底删除

Type 是索引中区分数据类型的

Es 存储type不同机制

 

对应俩种数据类型 存储方式

 

Es 底层存储结构

 

每条信息需要记录,浪费很多存储空间,统一索引下 有很多type没有值导致大量空值导致浪费空间

所以预计在es9后彻底删除这个字段

定制 dynamic mapping

定制 dynamic策略

#动态mapping映射状态 false 未设置字段不进入倒排索引

#没有定义的false 字段不会进入倒排索引

#有定义的按照定义的 会进入倒排索引

#可以插入新字段但是不会进入倒排索引,定义的会进入倒排索引

put myindex

{

  "mappings":{

    "dynamic":false,

    "properties":{

        "title":{"type":"text"},

        "address":{

          "type":"object",

          "dynamic":true

        }

    }

   

  }

}

没有动态映射的,通过中间词是无法查询的需要全文检索才可以

#必须标准字段,多余字段会报错无法存入

 "dynamic":strict,

#关闭日期探测,自动变成text类型“date_detection”:false

Put /myindex

{

“mappings”:{

       “date_detection”:false

}

}

Get /myindex/_maping

自定义日期格式

Put myindex

{

       "mappings":{

              "dynamic_date_formats":["yyyy-MM-dd"]

}

}

传来string 转换long 或float"numeric_detection":true

delete myindex

Put myindex

{

       "mappings" :{

              "numeric_detection":true

}

}

Put /myindex/_doc/1

{

"my_float":"1.0",

"my_long":"1"

}

get myindex/_doc/1

get /myindex/_mapping

 

定制dynamic mapping template 动态映射模板

delete myindex

#创建动态映射模板如果命中规则,使用此模板英文分词器

#*_en 结尾的使用text 存 英文分词器

put /myindex

{

  "mappings":{

    "dynamic_templates":[{

      "en":{

        "match":"*_en",

        "match_mapping_type":"string",

        "mapping":{

          "type":"text"

          ,"analyzer":"english"

        }

      }

    }]

  }

}

put /myindex/_doc/1

{"te":"this is my xx_en"}

put /myindex/_doc/4

{"tccsssse":"this is 中文my  "}

get myindex/_mapping

匹配规则

Match 属于什么

Unmatch 不属于什么

Match_mapping_type 属于什么类型

Path_match  路径匹配 *.xx 

Path_unmatch 路径不匹配

 

Norms false 指标评分因素

 

零停机重建索引

 

在线上运行的项目,发现不满足要求,创建新索引把旧数据放到新索引中去,从而实现重建索引

拷贝索引数据时间,则是停机不太好

//愿索引 date

Put /my_index

{

“mappings”:{

       “name”:{

              “type:”date”

}

}

}

//设置读取位置

Put /my_index/_alias/prod_index

//新索引

Put /my_index_new

{

“mappings”:{

       “name”:{

              “type:”text”

}

}

}

//切换别名值 程序读取别名

Post /_aliases

{

       “actions”:[

              {“remove”:{“index:”my_index”,”alias”:”prod_index”}}

{“add”:{“index:”my_index_new”,”alias”:”prod_index”}}

]

}

生产环境应该度别名数据

 

ok

持续更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/25249.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软考A计划-试题模拟含答案解析-卷七

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

从C语言到C++_12(string相关OJ题)(leetcode力扣)

上一篇已经讲了string类的接口函数,然后根据查文档刷了牛客和力扣58最后一个单词的长度, 还有力扣415字符串相加,这篇继续跟着查文档来刷力扣题,体会C刷题的方便。 目录 917. 仅仅反转字母 - 力扣(LeetCode&#xf…

Linux 实操篇-组管理和权限管理

Linux 实操篇-组管理和权限管理 Linux 组基本介绍 在linux 中的每个用户必须属于一个组,不能独立于组外。在linux 中每个文件有所有者、所在组、其它组的概念。 所有者所在组其它组改变用户所在的组 文件/目录所有者 一般为文件的创建者,谁创建了该文件&#x…

计算机视觉:卷积核的运行过程

本文重点 我们前面从直观角度理解了卷积神经网络的卷积在特征提取的作用,本节课程我们从数学角度来看一下,卷积是如何计算的? 计算步骤 1. 将卷积核与输入图像的某一部分进行逐元素相乘。 2. 将相乘后的结果求和,得到卷积核在该部分的输出值。 3. 重复以上步骤,将卷积核…

【shiro】shiro整合JWT——3.执行流程

前言 shiro整合JWT系列,主要记录核心思路–如何在shiroredis整合JWTToken。 上一篇中,主要讲如何在shiro框架中配置Jwt,以及token执行的流程。 该篇主要梳理整个代码的执行流程。 ps:本文主要以记录核心思路为主,以下…

uCOSii消息邮箱管理

uCOSii消息邮箱管理 (MESSAGE MAILBOX MANAGEMENT) 消息邮箱主要用于中断和任务之间进行邮件传递,或者是在任务与任务之间进行邮件交换。 我个人觉得,了解uCOSii消息邮箱的几个重要函数,还是有必要的。不是所有人都给我们测试案例。 1、重…

R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术

回归分析是科学研究中十分重要的数据分析工具。随着现代统计技术发展,回归分析方法得到了极大改进。混合效应模型(Mixed effect model),即多水平模型(Multilevel model)/分层模型(Hierarchical Model)/嵌套…

如何快速运用R语言实现生物群落(生态)数据统计分析与绘图

R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。本次以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线,通过多个来自…

Linux:查看进程。

Linux:查看进程。 windows linux TTY如果是?说明是不是终端(控制台)启动的,而是系统内部自己启动的。 TIME是启动Linux后,这个进程一共占用了cpu多少时间00…

QT 设计ROS GUI界面订阅和发布话题

QT 设计ROS GUI界面订阅和发布话题 主要参考下面的博客 ROS项目开发实战(三)——使用QT进行ROS的GUI界面设计(详细教程附代码!!!) Qt ROS 相关配置请看上一篇博客 首先建立工作空间和功能包&a…

【探索】机器指令翻译成 JavaScript

前言 前些时候研究脚本混淆时,打算先学一些「程序流程」相关的概念。为了不因太枯燥而放弃,决定想一个有趣的案例,可以边探索边学。 于是想了一个话题:尝试将机器指令 1:1 翻译 成 JavaScript,这样就能在浏览器中&am…

Java程序设计入门教程-- if 条件语句

目录 单分支选择语句(if) 双分支选择语句(if…else) 嵌套if语句 单分支选择语句(if) 情形 当判断条件满足时,执行语句体S,而不满足则什么都不做。 格式 if (条件判断表…

【计算机视觉 | 目标检测】术语理解6:ViT 变种( ViT-H、ViT-L ViT-B)、bbox(边界框)、边界框的绘制(含源代码)

文章目录 一、ViT & ViT变种1.1 ViT的介绍1.2 ViT 的变种 二、bbox(边界框)三、边界框的绘制 一、ViT & ViT变种 1.1 ViT的介绍 ViT,全称为Vision Transformer,是一种基于Transformer架构的视觉处理模型。传统的计算机视…

java企业工程项目管理系统平台源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

回调函数与钩子函数的区别,另QT中connect函数的实现,lambda的使用

1、钩子函数是回调函数的一种 广泛来说两者都是一样的 严格来说 钩子函数的函数名早已被定义好,只是函数内部需要用户在应用层来定义, 1)可以完全通过宏来实现系统是否调用该函数(底层不封闭,修改宏的参数实现是否编…

【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第二章——MindSpore调试调优

1.生态迁移 生态迁移工具使用示例 生态迁移工具技术方案 不同框架间模型定义前端表达差别巨大(相同算子的API技术难点 、 算子功能、模型构建方式差别较大); 对于同一框架,不管前端表达差异如何,最终对应的计算 图是相似的。因此提出&#x…

Kubernetes部署+kubesphere管理平台安装

Kubernetes官网;kubesphere官网 不论是Kubernetes官网还是找的其它部署步骤,基本都是推荐搭建集群的方式,是为了实现高可用.....等等,这样一来至少需要两台或三台的服务器来搭建,这样对我们的成本也是非常大的&#xf…

Axure教程——直方图(中继器)

本文将教大家如何用AXURE用中继器制作直方图 一、效果介绍 如图: 预览地址:https://yjkepz.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87842701 二、制作方法 (1)制作刻度表 设计5个刻…

CSDN上海城市开发者社区线下活动纪实

引言 5月27号中午,很高兴能和现CSDN副总裁、前微软 Azure 工程团队首席研发经理、技术畅销书《编程之美》及《构建之法》的作者邹欣邹老师,以及CSDN的 “上海城市开发者社区” 的部分成员齐聚一堂,参加CSDN上海城市开发者社区自5月初成立以来…

Ctfshow基础二刷(1)

前言: 前两天的信安给我整emo了,头一回打正经比赛,结果发现基础太差,代码审计烂得一踏糊涂。 寻思寻思,从头整一遍基础。又买了安恒出的新书。争取7号去吉林打省队选拔不给导儿丢脸吧呜呜 文件包含 web78: 这题一…