ES(Elasticsearch)更改字段索引
原有商品搜索,要对原有字段索引进行更改(目前无法直接在原索引上进行更改),那么就要新建新的索引,然后复制数据
环境说明
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)更改字段索引相关推荐
- ES(ElasticSearch) 如何建立索引
ES简介 在讨论 ElasticSearch 之前,不得不提 Apache Lucene,因为 ElasticSearch 的广泛应用离不开 Lucene 的支持. Lucene 是一个开源的全文检索 ...
- es倒排索引和mysql索引的_倒排索引与ElasticSearch
1 Mysql中的索引 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式. 1.1 MyISAM索引实 ...
- ES Elasticsearch
ES 本章知识点 三 ES简介 3.1 数据分类 我们生活中的数据总体分为三种:结构化数据,非结构化数据,半结构化数据结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等. 非结构化数据:指 ...
- Elasticsearch如何创建索引,添加,删除,更新文档
文章目录 准备工作 检查 es 及 Kibana 是否运行正常 创建索引及文档 创建文档相关知识点 mulit-field 字段 关于两个type的解释 关于两个keyword的解释 mulit-fi ...
- 第1.4章 elasticsearch删除字段
es因为文档存储,所以一旦字段确立,想要更改就不是那么件容易的事情,网上找到很多的例子,有很多只是说了一半. 比如这篇文章里面的elasticsearch mapping 添加 编辑 删除字段,他说要 ...
- 查询太慢?看看ES是如何把索引的性能压榨到极致的!
来自:老蒙大数据 上一篇文章简单地介绍过了ES的相关概念,还没看的同学快去复习下: ES是什么?看完这篇就不要再问这种低级问题了! 文章的最后提到了倒排索引,不知道有没有勾起大家的好奇心,ES的索引是 ...
- elasticsearch的多索引联合查询以及范围日期查询示例
一.前言 首先,博主这边要用ES来代替传统的mysql操作,那么原来的多表联合查询操作自然也要转换为多索引联合查找.这里使用elasticsearch-php库来操作ES,原生的ES也是大同小异的. ...
- Elasticsearch 之 数据索引
对于提供全文检索的工具来说,索引时一个关键的过程--只有通过索引操作,才能对数据进行分析存储.创建倒排索引,从而让使用者查询到相关的信息. 本篇就ES的数据索引操作相关的内容展开: 更多内容参考:El ...
- 【Elasticsearch】ES Elasticsearch查询优化
文章目录 1.概述 1.前言 2 合理的集群规划 3 数据模型优化 3.1 精心设计Mapping 3.2 选择合理的分词器 4 查询限制 5 段合并(segment merge) 6 过滤查询(fi ...
- Elasticsearch基础11——索引之别名使用
Elasticsearch的别名 别名的作用 在之前的文章中,介绍过Elasticsearch索引创建之后,假如尝试修改字段的类型的时候,除了重建索引之外没有别的办法. 假如我们尝试重建一个新的索引并 ...
最新文章
- React Native知识2-Text组件
- 博客积分规则 博客等级
- VTK:Snippets之ViewportBorders
- 阿里云主机安装开发工具包报错处理
- C++11多线程之future和promise
- div内容横排 html_css如何让文字横向滑入?
- 马杰c语言程序设计基础,【我校自编教材】程序设计基础(C语言版)
- oracle中master实例,Oracle10g/11g RAC数据库中的Master实例、Owner实例和Past Image的概念PART2...
- CentOS7安装Nginx,全网最快安装教程
- jQuery EasyUI教程之datagrid应用-1
- 阿里与腾讯“智慧城市”的O2O谁更强?(分享)
- mybatis # $区别
- XML的写入_dom4j添加、删除、修改Xml文件内容
- Unity关于Layer的管理
- PyQt(Python+Qt)学习随笔:Model中项的标记flags取值及枚举类型Qt.ItemFlag
- 错误 C1041 无法打开程序数据库“xxx\Debug\core142.pdb”
- Android 大牛 国内、国外Android开发者博客
- 数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
- 网页播放视频有声音无图像问题的临时解决办法
- B2C电商支付中心产品架构详解
热门文章
- MFC 的几个常用函数,用来计算文件大小,下载速度,转换时间的
- Team Fundation Server 2010 三
- 储存管理系统c语言,C语言-图书管理系统-未做文件储存系统.docx
- 学习笔记 卷积网络-dropout
- linux opendir php,php目录遍历函数opendir用法实例
- 12v直流电机并联多大电容_对电容的理解
- ‘gbk‘ codec can‘t decode byte 0xb9 in position 58: illegal multibyte sequence
- 从零开始实现Adam优化算法
- 解决UnicodeEncodeError: 'gbk' codec can't encode character u'\u25aa' in position 344 : illegal multiby
- opencv学习之------在算法设计中使用策略模式