ElasticSearch 中文分词搜索环境搭建

绿茶清香 2024-09-10 ⋅ 11 阅读

简介

ElasticSearch是一套开源的分布式搜索和分析引擎,能够实现高性能、可扩展的全文检索功能。然而,在中文环境下,由于中文的特殊性,传统的分词器无法很好地满足需求。因此,在使用ElasticSearch进行中文分词搜索时,需要进行一些环境搭建和配置工作。

安装ElasticSearch

首先,我们需要安装ElasticSearch。具体的安装过程可以参考官方文档。以Linux为例,可以执行以下步骤:

  1. 下载ElasticSearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz
  1. 解压缩
tar -xzf elasticsearch-7.10.0-linux-x86_64.tar.gz
  1. 进入ElasticSearch目录
cd elasticsearch-7.10.0/
  1. 启动ElasticSearch
./bin/elasticsearch

安装中文分词器

ElasticSearch默认使用的是英文分词器,无法很好地处理中文文本。因此,我们需要安装中文分词器来解决这个问题。目前比较常用的中文分词器有IK Analyzer、Jieba分词器等。

这里以IK Analyzer为例,介绍安装步骤。

  1. 下载IK Analyzer插件
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip
  1. 安装IK Analyzer插件
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip
  1. 重启ElasticSearch
./bin/elasticsearch

配置ElasticSearch

安装完中文分词器后,我们需要对ElasticSearch进行一些配置。

  1. 打开ElasticSearch的配置文件config/elasticsearch.yml
cd config/
vi elasticsearch.yml
  1. 在配置文件中添加以下内容,启用中文分词器
index.analysis.analyzer.default.type : "ik_max_word"
  1. 保存并退出配置文件

使用中文分词器进行搜索

安装和配置完毕后,我们就可以使用ElasticSearch进行中文分词搜索了。

  1. 创建索引 首先,我们需要创建一个包含中文文本的索引,例如:
PUT /my_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "type": "ik_max_word"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "my_analyzer"
      }
    }
  }
}
  1. 添加文档 然后,我们可以向索引中添加一些文档:
POST /my_index/_doc/1
{
  "content": "我喜欢使用ElasticSearch进行中文分词搜索"
}
  1. 执行搜索 最后,我们可以执行搜索操作:
GET /my_index/_search
{
  "query": {
    "match": {
      "content": "搜索"
    }
  }
}

总结

通过以上的环境搭建和配置,我们成功地实现了在ElasticSearch中使用中文分词器进行搜索的功能。希望本篇博客能帮助到大家,谢谢阅读!

参考链接:


全部评论: 0

    我有话说: