elasticsearch ik 分词器处理不当的问题

一、参考

elasticsearch 学习系列目录——更新ing

elasticsearch analysis ik

分词时发生 NullPointerException

Elasticsearch 中为什么会有大量文档插入后变成 deleted?

二、场景描述

2.1 存在索引,但是文档 bulk 报错

image.png

2.2 查看索引统计信息

image.png

发现很多文档处于 deleted状态

三、原因探究

3.1 首先需要定位什么场景,文档状态会是 deleted?

经过调研,

操作 说明
直接delete 直接删除文档,文档状态会变为deleted
更新文档update 更新操作本质是删除旧文档,添加新的文档,也会产生deleted 状态的文档

但是,程序中没有删除文档的操作?

3.2 是否因为资源不足,导致ES自动删除呢?

查看集群资源,因为是新的集群,所以资源基本未使用,不存在资源紧张问题

3.3 因为我们使用了ik分词器,那么是否是分词器的原因呢?

image.png

因为我们设置了message 字段使用ik分词器,发现果然是分词器的原因

四、解决方式

4.1 docker环境问题

docker中好像通过 elasticsearch-plugin install 方式安装分词器,会有问题

修改安装方式,下载对应版本的ik zip安装包,解压后,问题解决

你可能感兴趣的:(elasticsearch)