elasticsearch安装分词器和操作

安装分词器

1,查看分词器是否安装
bash 复制代码
# 检查已安装的插件
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list

如果没有安装,进行安装,此方法安装的时候提示分词器不存在

2,安装分词器
方法一:直接下载安装
bash 复制代码
# 如果 IK 分词器未安装,安装它
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip

用这种方法试试

bash 复制代码
# 创建临时目录
mkdir -p /tmp/ik_plugin
cd /tmp/ik_plugin

# 下载 IK 分词器(使用备用链接)
wget https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-ik/elasticsearch-analysis-ik-7.10.0.zip

# 如果上面的链接不行,尝试从其他源下载
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip

如果还提示404不存在

方法二:从源码编译安装

在码云上搜索elasticsearch-analysis-ik这个

打开连接搜索的链接Gitee根据自己的版本进行下载,我这里下载的是7.10版本

下载完之后解压

bash 复制代码
#解压
sudo unzip elasticsearch-analysis-ik-7.10.zip

如果没有安装maven,进行安装

bash 复制代码
cd elasticsearch-analysis-ik-7.10/
#安装maven
sudo apt install maven
#停止es
sudo systemctl stop elasticsearch
#编译打包
cd elasticsearch-analysis-ik-7.10/

安装分词器

bash 复制代码
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ./elasticsearch-analysis-ik-7.10/target/releases/elasticsearch-analysis-ik-7.10.0.zip

成功的界面

备注:这里查看下生成的压缩文件是哪个版本,如果不是elasticsearch-analysis-ik-7.10.0.zip版本,就需要修改pom文件

修改pom文件,如果没有报错,执行执行启动es的那一步

bash 复制代码
# 回到源码目录
cd /home/jing/Downloads/elasticsearch-analysis-ik-7.10

# 修改版本号
nano pom.xml

找到这一行并修改:

bash 复制代码
<elasticsearch.version>7.10.2</elasticsearch.version>

改为

bash 复制代码
<elasticsearch.version>7.10.0</elasticsearch.version>

然后重新编译

bash 复制代码
mvn clean package -DskipTests

再次执行

bash 复制代码
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/jing/Downloads/elasticsearch-analysis-ik-7.10/target/releases/elasticsearch-analysis-ik-7.10.0.zip

启动es

bash 复制代码
sudo systemctl start elasticsearch

查看安装的分词器

bash 复制代码
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list

显示

bash 复制代码
# 测试 IK 分词器
curl -X GET "http://localhost:9200/_analyze" -H 'Content-Type: application/json' -d'
{
  "analyzer": "ik_smart",
  "text": "中华人民共和国"
}'

es的操作

bash 复制代码
#删除索引
curl -X DELETE "http://localhost:9200/knowledge"
#查看索引
curl -X GET "http://localhost:9200/knowledge"
#查看映射
curl -X GET "http://localhost:9200/knowledge/_mapping"

# 查看索引设置
curl -X GET "http://localhost:9200/knowledge/_settings?pretty"

查看索引中的所有数据

bash 复制代码
# 查看索引中的所有文档
curl -X GET "http://localhost:9200/knowledge/_search?pretty"

# 或者使用 POST 方式
curl -X POST "http://localhost:9200/knowledge/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "match_all": {}
  }
}'
# 查看前5条数据
curl -X GET "http://localhost:9200/knowledge/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "size": 5,
  "query": {
    "match_all": {}
  }
}'```

2. 查看特定文档

```bash
# 根据文档ID查看
curl -X GET "http://localhost:9200/knowledge/_doc/1?pretty"

# 查看多个文档
curl -X GET "http://localhost:9200/knowledge/_doc/1,2,3?pretty"
  1. 搜索特定内容
bash 复制代码
# 搜索包含特定关键词的文档
curl -X GET "http://localhost:9200/knowledge/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "match": {
      "fileName": "测试"
    }
  }
}'

# 多字段搜索
curl -X GET "http://localhost:9200/knowledge/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "multi_match": {
      "query": "测试",
      "fields": ["fileName", "content"]
    }
  }
}'

最常用的几个命令:

bash 复制代码
# 1. 快速查看所有数据
curl -X GET "http://localhost:9200/knowledge/_search?pretty"

# 2. 查看文档数量
curl -X GET "http://localhost:9200/knowledge/_count?pretty"

# 3. 查看映射结构
curl -X GET "http://localhost:9200/knowledge/_mapping?pretty"

# 4. 搜索特定内容
curl -X GET "http://localhost:9200/knowledge/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "match": {
      "fileName": "搜索关键词"
    }
  }
}'
相关推荐
SelectDB7 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
ApacheSeaTunnel10 小时前
当多表数据涌入,Apache SeaTunnel 如何巧妙化解主键冲突?
大数据·开源·数据集成·seatunnel·技术分享·数据同步
Elasticsearch15 小时前
使用 Elastic Agent Builder 和 Sarvam AI 构建多语言语音 agent
elasticsearch
大大大大晴天3 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
手可摘星辰7774 天前
一次线上FlinkCDC异常排查复盘
大数据·flink
大大大大晴天4 天前
Hudi技术内幕:Metadata Table原理与实践
大数据
武子康5 天前
调查研究-197 FAISS vs Elasticsearch 全面对比:从向量检索、全文搜索到 RAG 选型指南
人工智能·elasticsearch·agent
大大大大晴天5 天前
Hudi技术内幕:深入解析Index索引机制
大数据
阿里云大数据AI技术5 天前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
SelectDB5 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc