采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,你好: 1、es中是不建议修改索引结构?还是不建议修改文档内容而要删除再新增? 数据到后期,索引中已经有一定的数据量了,这个时候修改字段类型之类的可以吗? 如果不建议修改文档内容(因为存入的文本已经经过分词及算分了)的话而删除后再新增的话,如果修改的是索引中不需要分词(比如keyword类型)的字段文本呢?是否可以直接修改?
2、已经有一定数量文档的索引,后期是否可以像mysql那样灵活的添加字段呢(不是dynamic属性问题)? 并且我需要用到这个字段来进行分词搜索
谢谢!
es 的数据模型是自由的,可以随时修改 mapping 组成,但是不能改数据类型。修改是 update 操作,这个操作执行的时候会重新执行分词的操作。而 update 的原理也是先拿到整个文档,修改你要改的字段,然后整个文档 update。
2.可以灵活添加。
针对字段更改问题,可以结合 alias 和 reindex 来灵活处理
意思是,比如我想修改索引里的某条文档数据里的内容,可以直接update,而不需要先删除,再新增的形式吗?
是的,不用删除。es 内部就是把旧文档标记为删除,然后使用新文档的机制,有一个版本号的概念在里面
那修改的话,之前经过分词后的文本会受到影响吗? 修改后的文档是不是会自动对新文档进行分词啊?
登录后可查看更多问答,登录/注册
有了Elastic Stack,不用写一行代码,你也可以玩转大数据分析!
1.4k 14
1.2k 13
904 11
1.2k 11
2.5k 8