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

这篇具有很好参考价值的文章主要介绍了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

修改索引

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

 

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

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

 

定制分词器

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 elasticsearch 九 索引index 定制分词器 type结构后期弃用原因 定制动态映射 动态映射模板 零停机重建索引

 

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

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

 

Es 底层存储结构

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

 

每条信息需要记录,浪费很多存储空间,统一索引下 有很多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

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

 

定制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 路径不匹配

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

 

Norms false 指标评分因素

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

 

零停机重建索引

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

 

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

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

//愿索引 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”}}

]

}

生产环境应该度别名数据

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

 

ok

持续更新文章来源地址https://www.toymoban.com/news/detail-460524.html

到了这里,关于es elasticsearch 九 索引index 定制分词器 type结构后期弃用原因 定制动态映射 动态映射模板 零停机重建索引的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES查询索引字段的分词结果

    一、_termvectors  1、查看文档中某一个字段的分词结果 GET /{index}/{type}/{_id}/_termvectors?fields=[field] 2、样例: text的值为:https://www.b4d99.com/html/202204/45672.html 得到的结果: 二、_analyze 1、语法 2、样例: text的值为:https://www.b4d99.com/html/202204/45672.html 得到的结果:

    2024年02月11日
    浏览(68)
  • ES-index索引配置

      index索引配置项使用。 index_options   Index 有4中配置,可以控制倒排索引的内容。   Text类型默认记录positions,其他默认docs。记录的内容越多,所占用的空间越大。   Index 有4中配置如下: docs   记录 doc id 。 freqs   记录 doc id 和 term frequencies 。 positions   记录

    2023年04月08日
    浏览(38)
  • elasticsearch index sorting ,索引排序

    es默认的搜索排序是_score,通过评分排序,但是对于大数据量,评分一致的情况下也还是会乱序,官方说可以使用_doc,但是这个索引插入顺序是按照分片存的,也就是为2 的顺序可能多个分片都存在。所以实测并不好用。博主在做大数据量的排序时候,使用 datatime字段排序 ,解

    2024年02月04日
    浏览(57)
  • es在索引中自定义简单的分词器 Analyzer 扩展

    es在索引中自定义简单的分词器 Analyzer 扩展 PUT index1 {   \\\"settings\\\": {     \\\"analysis\\\": {       \\\"analyzer\\\": {         \\\"ik_max_word_expand\\\": {           \\\"type\\\": \\\"custom\\\",           \\\"char_filter\\\": \\\"html_strip\\\",           \\\"tokenizer\\\": \\\"ik_max_word\\\"         }       }     }   } }   在索引中自定义简单的分

    2024年02月15日
    浏览(36)
  • Elasticsearch Index Monitoring(索引监控)之Index Stats API详解

    index_current 当前正在执行索引操作的个数。 index_failed 失败的索引操作次数。 delete_total 执行删除索引操作的次数。 delete_time_in_millis 删除索引操作总耗时。 delete_current 当前正在执行删除索引操作的个数。 noop_update_total 空更新总次数(检测到空更新的次数)。 is_throttled 索引是

    2024年04月09日
    浏览(44)
  • Elasticsearch中倒排索引、分词器、DSL语法使用介绍

    🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝 🍓 更多文章请点击 简介及安装请查看这篇 :Elasticsea

    2024年02月11日
    浏览(49)
  • Elasticsearch exception [type=index_not_found_exception, reason=no such index [**]]

     1.代码运行出现找不到Index,先排除index是否存在。   2.springboot和ES映射,默认是把对象类型映射为index,class对象默认是大写开头,所以要看是都是因为大小写不匹配。如若因为大小写原因导致,可以通过@Document注解指定index  

    2024年02月14日
    浏览(47)
  • ElasticSearch 中的中文分词器以及索引基本操作详解

    配置完成后,重启 es ,即可生效。 热更新,主要是响应头的 Last-Modified 或者 ETag 字段发生变化,ik 就会自动重新加载远程扩展辞典。 视频笔记,在公众号 江南一点雨 后台回复 elasticsearch04 获取下载链接。 2. ElasticSearch 索引管理 微信公众号 江南一点雨 后台回复 elasticsearch

    2024年04月25日
    浏览(34)
  • ES之API系列--index template(索引模板)的用法(有实例)

    原文网址:ES之API系列--index template(索引模板)的用法(有实例)_IT利刃出鞘的博客-CSDN博客 说明 本文介绍ElasticSearch的index template(索引模板)的用法(有实例)。 官网网址 https://www.elastic.co/guide/en/elasticsearch/reference/8.0/index-templates.html 作用概述         在 新建 索引时,如果索引名

    2024年04月09日
    浏览(41)
  • elasticsearch使用脚本 滚动关闭索引,更新index setting

         在旧的索引中更新mapping时,新增了分词器(分词器已经在模板中添加),但是在更新mapping时报错: 查看elasticsearch官网,发现不允许在已经存在的索引中动态更新分词器,只能先将索引close,更新分词器,然后再打开 Update index settings API | Elasticsearch Guide [8.3] | Elastic 2.1 由

    2024年02月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包