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": "搜索关键词"
    }
  }
}'
相关推荐
久曲健的测试窝3 小时前
Jenkins Share Library教程 —— 企业级 Jenkins Shared Library 实战示例
运维·jenkins
秃了也弱了。3 小时前
elasticSearch之API:Ingest Pipeline & Painless Script
大数据·elasticsearch·jenkins
jakeswang3 小时前
Jenkins 已成过去式!新兴替代工具GitHub Actions即将崛起
后端·jenkins·github actions
Wang's Blog4 小时前
Linux小课堂: Tomcat容器中部署Jenkins的完整流程与关键技术要点
linux·tomcat·jenkins
芙蓉王真的好14 小时前
优化 Jenkins 构建脚本:避免 pnpm lockfile 相关报错的关键配置
spring·servlet·jenkins
要站在顶端4 小时前
Jenkins Pipeline 多job依赖、触发多Job、并行执行及制品下载
运维·servlet·jenkins
赵谨言4 小时前
基于python二手车价值评估系统的设计与实现
大数据·开发语言·经验分享·python
北邮-吴怀玉4 小时前
6.1.1.2 大数据方法论与实践指南-实时任务(spark/flink)任务的 cicd 解决方案
大数据·flink·spark
武子康4 小时前
大数据-138 ClickHouse MergeTree 实战详解|分区裁剪 × 稀疏主键索引 × marks 标记 × 压缩
大数据·后端·nosql