原有商品搜索,要对原有字段索引进行更改(目前无法直接在原索引上进行更改),那么就要新建新的索引,然后复制数据

环境说明

es 索引goods-2020-01-01 绑定别名goods

如何绑定别名

创建索引

kibana 里执行

PUT goods-2020-01-01
{"settings": {"analysis": {"analyzer": {"ik_syno_max": {"type": "custom","tokenizer": "ik_max_word","filter": ["local_synonym_filter","jt_tfr"],"char_filter": ["jt_cfr"]},"ik_syno_smart": {"type": "custom","tokenizer": "ik_smart","filter": ["local_synonym_filter"]},"english": {"tokenizer": "standard","filter": ["english_possessive_stemmer","lowercase","english_stop","english_keywords","english_stemmer"]}},"filter": {"jt_tfr": {"type": "stop","stopwords": [" "]},"local_synonym_filter": {"type": "synonym","synonyms_path": "analysis/synonyms.txt"},"english_stop": {"type": "stop","stopwords": "_english_"},"english_keywords": {"type": "keyword_marker","keywords": ["example"]},"english_stemmer": {"type": "stemmer","language": "english"},"english_possessive_stemmer": {"type": "stemmer","language": "possessive_english"}},"char_filter": {"jt_cfr": {"type": "mapping","mappings": ["| => \\|"]}},"normalizer": {"my_normalizer": {"type": "custom","char_filter": [],"filter": ["lowercase", "asciifolding"]}}}},"mappings": {"dynamic": true,"properties": {"sku": {"type": "keyword","normalizer": "my_normalizer"},"name": {"type": "text"},"gmtCreate":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true},"gmtModified":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true},"makeTime":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true}}}
}

关联别名 (创建别名)

kibana 里执行

POST /_aliases
{"actions": [{"add": {"alias": "goods","index": "goods-2020-01-01"}}]
}

删除别名

kibana 里执行

POST /_aliases
{"actions" : [{ "remove" : { "index" : "goods-2020-01-01", "alias" : "goods" } }]
}

查看别名下所有索引

kibana 里执行

GET goods/_alias

查看索引是否有别名

kibana 里执行

GET goods-2020-01-01/_alias

查看词库分词情况

kibana 里执行

POST goods-2020-01-01/_analyze
{"analyzer": "ik_syno_smart","text": "牛栏"
}

查看原索引

kibana 里执行

GET goods-2020-01-01/_mapping
结果
{"goods-2020-01-01" : {"mappings" : {"properties" : {"sku" : {"type": "keyword","normalizer": "my_normalizer"},"title" : {"type" : "text"},"gmtCreate":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true},"gmtModified":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true},"makeTime":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true}}}}
}

更改步骤

1.创建新索引

kibana 里执行

PUT goods-2020-12-21
{"settings": {"analysis": {"analyzer": {"ik_syno_max": {"type": "custom","tokenizer": "ik_max_word","filter": ["local_synonym_filter","jt_tfr"],"char_filter": ["jt_cfr"]},"ik_syno_smart": {"type": "custom","tokenizer": "ik_smart","filter": ["local_synonym_filter"]},"english": {"tokenizer": "standard","filter": ["english_possessive_stemmer","lowercase","english_stop","english_keywords","english_stemmer"]}},"filter": {"jt_tfr": {"type": "stop","stopwords": [" "]},"local_synonym_filter": {"type": "synonym","synonyms_path": "analysis/synonyms.txt"},"english_stop": {"type": "stop","stopwords": "_english_"},"english_keywords": {"type": "keyword_marker","keywords": ["example"]},"english_stemmer": {"type": "stemmer","language": "english"},"english_possessive_stemmer": {"type": "stemmer","language": "possessive_english"}},"char_filter": {"jt_cfr": {"type": "mapping","mappings": ["| => \\|"]}},"normalizer": {"my_normalizer": {"type": "custom","char_filter": [],"filter": ["lowercase", "asciifolding"]}}}},"mappings": {"dynamic": true,"properties": {"sku": {"type": "keyword","normalizer": "my_normalizer"},"name": {"type": "text","analyzer": "ik_syno_max","search_analyzer": "ik_syno_smart","fields": {"cn": {"type": "text","analyzer": "ik_syno_smart"},"en": {"type": "text","analyzer": "english"}}},"gmtCreate":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true},"gmtModified":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true},"makeTime":{"type":"date","format":"yyyy-MM-dd HH:mm:ss","ignore_malformed":true}}}
}

2.复制数据

kibana 里执行

POST _reindex?wait_for_completion=false
{"source": {"index": "goods-2020-01-01"},"dest": {"index": "goods-2020-12-21"}
}

3. 查看复制进度

kibana 里执行

GET _tasks?detailed=true&actions=goods-2020-12-21

如果数据量很少,那么结果是如下,表示 复制完成

{"nodes" : { }
}

4. 把别名与新索引关联

先删除原别名与就索引的关系,然后建立新索引和别名的关系

kibana 里执行

POST /_aliases
{"actions" : [{ "remove" : { "index" : "goods-2020-01-01", "alias" : "goods" } },{ "add" : { "index" : "goods-2020-12-21", "alias" : "goods" } }]
}

ES(Elasticsearch)更改字段索引相关推荐

  1. ES(ElasticSearch) 如何建立索引

    ES简介 在讨论 ElasticSearch 之前,不得不提 Apache Lucene,因为 ElasticSearch 的广泛应用离不开 Lucene 的支持. Lucene 是一个开源的全文检索 ...

  2. es倒排索引和mysql索引的_倒排索引与ElasticSearch

    1 Mysql中的索引 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式. 1.1 MyISAM索引实 ...

  3. ES Elasticsearch

    ES 本章知识点 三 ES简介 3.1 数据分类 我们生活中的数据总体分为三种:结构化数据,非结构化数据,半结构化数据结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等. 非结构化数据:指 ...

  4. Elasticsearch如何创建索引,添加,删除,更新文档

    文章目录 准备工作 检查 es 及 Kibana 是否运行正常 创建索引及文档 创建文档相关知识点 mulit-field 字段 关于两个type的解释 关于两个keyword的解释 mulit-fi ...

  5. 第1.4章 elasticsearch删除字段

    es因为文档存储,所以一旦字段确立,想要更改就不是那么件容易的事情,网上找到很多的例子,有很多只是说了一半. 比如这篇文章里面的elasticsearch mapping 添加 编辑 删除字段,他说要 ...

  6. 查询太慢?看看ES是如何把索引的性能压榨到极致的!

    来自:老蒙大数据 上一篇文章简单地介绍过了ES的相关概念,还没看的同学快去复习下: ES是什么?看完这篇就不要再问这种低级问题了! 文章的最后提到了倒排索引,不知道有没有勾起大家的好奇心,ES的索引是 ...

  7. elasticsearch的多索引联合查询以及范围日期查询示例

    一.前言 首先,博主这边要用ES来代替传统的mysql操作,那么原来的多表联合查询操作自然也要转换为多索引联合查找.这里使用elasticsearch-php库来操作ES,原生的ES也是大同小异的. ...

  8. Elasticsearch 之 数据索引

    对于提供全文检索的工具来说,索引时一个关键的过程--只有通过索引操作,才能对数据进行分析存储.创建倒排索引,从而让使用者查询到相关的信息. 本篇就ES的数据索引操作相关的内容展开: 更多内容参考:El ...

  9. 【Elasticsearch】ES Elasticsearch查询优化

    文章目录 1.概述 1.前言 2 合理的集群规划 3 数据模型优化 3.1 精心设计Mapping 3.2 选择合理的分词器 4 查询限制 5 段合并(segment merge) 6 过滤查询(fi ...

  10. Elasticsearch基础11——索引之别名使用

    Elasticsearch的别名 别名的作用 在之前的文章中,介绍过Elasticsearch索引创建之后,假如尝试修改字段的类型的时候,除了重建索引之外没有别的办法. 假如我们尝试重建一个新的索引并 ...

最新文章

  1. React Native知识2-Text组件
  2. 博客积分规则 博客等级
  3. VTK:Snippets之ViewportBorders
  4. 阿里云主机安装开发工具包报错处理
  5. C++11多线程之future和promise
  6. div内容横排 html_css如何让文字横向滑入?
  7. 马杰c语言程序设计基础,【我校自编教材】程序设计基础(C语言版)
  8. oracle中master实例,Oracle10g/11g RAC数据库中的Master实例、Owner实例和Past Image的概念PART2...
  9. CentOS7安装Nginx,全网最快安装教程
  10. jQuery EasyUI教程之datagrid应用-1
  11. 阿里与腾讯“智慧城市”的O2O谁更强?(分享)
  12. mybatis # $区别
  13. XML的写入_dom4j添加、删除、修改Xml文件内容
  14. Unity关于Layer的管理
  15. PyQt(Python+Qt)学习随笔:Model中项的标记flags取值及枚举类型Qt.ItemFlag
  16. 错误 C1041 无法打开程序数据库“xxx\Debug\core142.pdb”
  17. Android 大牛 国内、国外Android开发者博客
  18. 数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
  19. 网页播放视频有声音无图像问题的临时解决办法
  20. B2C电商支付中心产品架构详解

热门文章

  1. MFC 的几个常用函数,用来计算文件大小,下载速度,转换时间的
  2. Team Fundation Server 2010 三
  3. 储存管理系统c语言,C语言-图书管理系统-未做文件储存系统.docx
  4. 学习笔记 卷积网络-dropout
  5. linux opendir php,php目录遍历函数opendir用法实例
  6. 12v直流电机并联多大电容_对电容的理解
  7. ‘gbk‘ codec can‘t decode byte 0xb9 in position 58: illegal multibyte sequence
  8. 从零开始实现Adam优化算法
  9. 解决UnicodeEncodeError: 'gbk' codec can't encode character u'\u25aa' in position 344 : illegal multiby
  10. opencv学习之------在算法设计中使用策略模式