• ElasticSearch安装、配置详细步骤


    一、环境及版本介绍

    操作系统: Windows 10

    软件版本: elasticsearch-7.17.22、kibana-7.17.22、IK-7.17.22

    开发环境选择软件版本应提前考虑正式系统环境,否则会产生软件与服务器环境不兼容的问题出现,ElasticSearch与环境支持一览表,自行查阅一下:

    支持一览表 [ https://www.elastic.co/cn/support/matrix#matrix_jvm ]

    在这里插入图片描述

    安装软件下载地址:

    1. Elasticsearch全文检索引擎:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
    2. ik分词器的下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
    3. kibana可视化工具下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana

    注意:版本必须一样,否则运行不起来!!

    二、Elasticsearch安装、配置

    2.1 Elasticsearch下载安装包

    在这里插入图片描述

    2.2 安装

    创建目录 ’ D:\tools\ElasticSerach ',解压 ‘ elasticsearch-7.17.22.zip ’ 至此目录;再创建backupdataslogs 目录。

    注意:目录不能带空格

    在这里插入图片描述

    2.3 配置环境变量

    因为新版的ElasicSearch已经弃用了JAVA_HOME环境变量,转而使用了ES_JAVA_HOME环境变量,并且在新版的安装包中已经提供了Java运行环境,因此我们需要增加ES_JAVA_HOME这个环境变量,不然在后续配置中可能会出现“warning: usage of JAVA_HOME is deprecated,useES_JAVA_HOME”的警告信息。

    在这里插入图片描述

    2.4 修改配置文件

    2.4.1 jvm.options修改

    默认 JVM 4g,根据服务器内存配置,修改参数。注意:-Xms -Xmx 参数值需要一样,尽可能后期不做修改,可能会引起报错!

    -Xms512m
    -Xmx512m
    
    2.4.2 elasticsearch.yml 修改
    
    #设置快照存储地址
    path.repo: ["D:\\tools\\ElasticSerach\\elasticsearch-7.17.22\\backup"] 
    #数据存放路径(可不设置,默认就是如下地址)
    path.data: D:\\tools\\ElasticSerach\\elasticsearch-7.17.22\\datas 
    #日志存放路径
    path.logs: D:\\tools\\ElasticSerach\\elasticsearch-7.17.22\\logs 
    #节点名称
    node.name: node-1
    #节点列表
    discovery.seed_hosts: ["192.168.1.21"]
    #初始化时master节点的选举列表
    cluster.initial_master_nodes: ["node-1"]
    #集群名称
    cluster.name: es-main
    #对外提供服务的端口
    http.port: 9200
    #节点间通信使用的 TCP 端口号(默认为 9300),集群环境需要开放端口
    transport.port: 9300
    #启动地址,如果不配置,只能本地访问
    network.host: 0.0.0.0
    #跨域支持
    http.cors.enabled: true
    #跨域访问允许的域名地址
    http.cors.allow-origin: "*"
    
    2.4.3 elasticsearch-env修改

    在bin目录,找到elasticsearch-env文件,编辑注释掉JAVA_HOME配置。

    在这里插入图片描述

    2.4.4权限配置

    绕过本节,会产生安全问题,访问无密码要求,直接访问。在elasticsearch.yml下添加下面代码。

    
    #开启密码安全机制
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    

    启动Elasticsearch,进入bin目录执行elasticsearch-setup-passwords interactive,会要求输入多个账号的密码,记录清楚。

    bin> elasticsearch-setup-passwords interactive
    

    2.5 配置后台服务

    在bin目录,打开cmd,执行:elasticsearch-service.bat install,打开服务可以看到添加成功,右键属性设置开机自启。

    在这里插入图片描述

    2.6 启动

    bin目录双击elasticsearch.bat或者服务启动,访问地址:http://127.0.0.1:9200,输入elastic/123456

    在这里插入图片描述

    注意:如果启动失败,可以进入logs目录查找报错日志。

    三、IK分词器插件安装

    进入安装plugins文件夹,创建ik文件夹,解压elasticsearch-analysis-ik-7.17.22.zip,重启可用。(找不到elasticsearch匹配版本,需要拉代码自己打包)
    在这里插入图片描述

    四、Kibana安装、配置

    4.1 Kibana安装

    解压kibana-7.17.22-windows-x86_64.zipD:\tools\ElasticSerach目录完成安装。

    4.2 kibana.yml配置修改

    #设置中文显示
    i18n.locale:  "zh-CN"
    #设置访问用户
    elasticsearch.username:  "elastic"
    #设置访问密码
    elasticsearch.password:  "123456"
    #ElasticSearch连接地址
    elasticsearch.hosts: [ "http://192.168.1.21:9200"]
    

    Kibana server is not ready yet hosts与elasticsearch没有对应上,或者版本不匹配。

    4.3 启动

    进入bin目录,双击kibana.bat启动,访问地址:http://127.0.0.1:5601
    在这里插入图片描述

    五、DSL语法

    # 查询
    GET /索引库名/_search
    { 
     "query": {
       "match_all": {} 
     },
      "sort": [
        {
          "字段名": "desc" // 排序 keyword 类型、数值类型、地理坐标类型、日期类型.
        }
      ],
     "from": 1,  // 第几条数据开始
     "size":2,  // 展示多数跳数据
     "_source": ["字段名", "字段名", "字段名","字段名"]  // 展示字段
    }
    
    
    # 单字段模糊收索
    GET /索引库名/_search
    {
     "query": {
       "match": {
          "字段名":"2023"
        }
      }
    }
    
    
    # 多字段模糊收索
    GET /索引库名/_search
    {
     "query": {
       "multi_match": {
          "query":"歌",
          "fields": ["字段名", "字段名"]
        }
      }
    }
    
    
    # term精确查询,一般是查找 keyword、数值、日期、boolean 等类型字段。
    GET /索引库名/_search
    {
      "query": {
        "term": {
          "字段名": {
            "value": "202106012110"
          }
        }
      }
    }
     
    # 或者无效查询
    GET /索引库名/_search
    {
      "query": {
        "term": {
          "字段名": "大"
        }
      }
    }
    
    
    # range查询区间,根据数值的范围查询,可以是数值、日期的范围。
    GET /索引库名/_search
    {
      "query": {
        "range": {
          "字段名": {
            "gte": 1, 
            "lte": 3  
          }
        }
      }
    }
    
    
    # 排序.  可以排序的字段类型有(不分词):keyword 类型、数值类型、地理坐标类型、日期类型.
    GET /索引库名/_search
    {
      "query": {
        "match_all": {} //搜索内容
      },
      "sort": [
        {
          "字段名": "desc"  // 排序字段和排序方式ASC、DESC
        }
      ]
    }
    
    # DELETE /songs
    
  • 相关阅读:
    Nodejs path模块常用方法
    毕业季限时“开业”,麓山南便利店送给毕业生满满的仪式感
    力扣第100题 相同的数 c++ 二叉 简单易懂+注释
    【QT进阶】Qt线程与并发之QtConcurrent返回值与run方法的参数说明
    SkyWalking追踪gateway网关链路无法和服务串联
    MySQL数据库
    区间素数筛
    MySQL数据库基础:数据类型详解-二进制字符串类型
    【Java】移除元素
    MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本
  • 原文地址:https://blog.csdn.net/qq_35719898/article/details/139930357