深圳幻海软件技术有限公司 欢迎您!

聊聊 Elastic-Search 部署和应用

2023-02-28

es简介Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎ApacheLucene(TM)基础上的搜索引擎Elastic官网https://www.elastic.co/cn/主要功能:分布式搜索数据分析分组和聚合es下载地址https://www.elasti

es简介

Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎

Elastic官网

https://www.elastic.co/cn/

主要功能:

分布式搜索

数据分析

分组和聚合

es下载地址

https://www.elastic.co/cn/downloads/

linux安装es

  • 将下载的安装包上传导linux服务器,我的版本是elasticsearch-7.2.0-linux-x86_64.tar.gz
  • 创建usr/local/soft/es目录,将es解压到这个目录中
  • 修改es的yum文件
node.name: node-1
// 这个很重要
http.host: 0.0.0.0
http.port: 9200
  • 1.
  • 2.
  • 3.
  • 4.
  • 修改es的jvm.options
-Xms256M
-Xmx256M
  • 1.
  • 2.
  • 创建新的用户来启动es
  • useradd esuser
  • 赋予权限
chown -R esuser:esuser /usr/local/software/elasticsearch-7.2.0
  • 1.
  • 切换到esuser用户
su esuser
  • 1.
  • 通过es用户后台启动es
sh elasticsearch -d
  • 1.
  • 验证是否启动成功
curl -X GET "http://localhost:9200"
  • 1.

添加ik到es中

  • 下载ik的版本必须和es版本对应
  • 将ik放到es的plugin目录下进行解压

es重启后会加载ik

es中新增索引post

curl -X PUT "localhost:9200/post" 
  • 1.

将分词器修改成ik

  • 关闭索引
POST post/_close
  • 1.
  • 配置ik
PUT post/_settings
{
  "number_of_replicas": 0,
  "index":{
    "analysis.analyzer.default.type":"ik_max_word",
    "analysis.search_analyzer.default.type":"ik_smart"
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 开启post索引
POST post/_open
  • 1.

创建es的mapping,根据自己的需求创建

curl --location --request PUT '787k.fun:9200/post/_mapping' \
--header 'Content-Type: application/json' \
--data-raw '{
    "properties": {
        "id": {
            "type": "integer"
        },
        "title": {
            "type": "text"
        },
        "content": {
            "type": "text"
        },
        "blogImg": {
            "type": "keyword"
        },
        "html_content": {
            "type": "keyword"
        },
        "authorId": {
            "type": "integer"
        },
        "authorName": {
            "type": "keyword"
        },
        "tag": {
            "type": "integer"
        },
        "type": {
            "type": "integer"
        },
        "status": {
            "type": "integer"
        },
        "commentCount": {
            "type": "integer"
        },
        "score": {
            "type": "double"
        },
        "created": {
            "type": "date"
        },
        "updated": {
            "type": "date"
        }
    }
}'
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.

springboot集成es

  • pom文件加入依赖
<!--es开始-->
    <dependency>
      <groupId>org.elasticsearch.client</groupId>
      <artifactId>elasticsearch-rest-high-level-client</artifactId>
      <version>7.2.0</version>
    </dependency>
    <dependency>
      <groupId>org.elasticsearch</groupId>
      <artifactId>elasticsearch</artifactId>
      <version>7.2.0</version>
    </dependency>
    <!--es结束-->
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • yum文件添加文件
elasticsearch.host=localhost
elasticsearch.port=9200
  • 1.
  • 2.