• ElasticSearch快速入门


    在学习ElasticSearch之前先了解两个概念:

    全文检索:

    通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置以及出现的次数 ,用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了。
    倒排索引:
    索引就类似于目录,平时我们使用的都是索引,都是通过主键定位到某条数据,那么倒排索引呢,刚好相反, 数据对应到主键。

    简单理解,正向索引是通过key找value,反向索引则是通过value找key。ES底层在检索时底层使用的就是倒排索引。
    ElasticSearch是什么?
    ElasticSearch(简称ES)是一个分布式、RESTful 风格的搜索和数据分析引擎,是用Java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索 ,稳定,可靠,快速,安装使用方便。客户端支持Java、.NET(C#)、PHP、Python、Ruby等多种语言。
    官方网站: https://www.elastic.co/
    下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch
      ElasticSearch历史
    起源——Lucene, 基于Java语言开发的搜索引擎库类 , 创建于1999年,2005年成为Apache 顶级开源项目。
    Lucene具有高性能、易扩展的优点
    Lucene的局限性︰
    1. 只能基于Java语言开发
    2. 类库的接口学习曲线陡峭
    3. 原生并不支持水平扩展
    Elasticsearch是构建在Apache Lucene之上的开源分布式搜索引擎。
    2004年 Shay Banon 基于Lucene开发了Compass
    2010年 Shay Banon重写了Compass,取名Elasticsearch支持分布式,可水平扩展,降低全文检索的学习曲线,可以被任何编程语言调用。
    Elasticsearch 与 Lucene 核心库竞争的优势在于: 完美封装了 Lucene 核心库,设计了友好的Restful-API,开发者无需过多关注底层机制,直接开箱即用;分片与副本机制,直接解决了集群下性能与高可用问题。
    在Elastic Stack之前我们听说过ELK,ELK分别是Elasticsearch,Logstash,Kibana这
    三款软件在一起的简称,在发展的过程中又有新的成员Beats的加入,就形成了ElasticStack。

     Elastic Stack生态圈

    在Elastic Stack生态圈中Elasticsearch作为数据存储和搜索,是生态圈的基石,Kibana在上层提供用户一个可视化及操作的界面,Logstash和Beat可以对数据进行收集。在上图的右侧X-Pack部分则是Elastic公司提供的商业项目。

    ​​​​​​

    ElasticSearch应用场景
    1. 站内搜索
    2. 日志管理与分析
    3. 大数据分析
    4. 应用性能监控
    5. 机器学习
    国内现在有大量的公司都在使用 Elasticsearch,除了搜索之外,结合Kibana、Logstash、Beats, Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。它可以帮助你探索海量结构化、非结构化数据,按需创建可视化报表,对监控
    数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。
    ElasticSearch快速开始
    ElasticSearch安装运行
    环境准备
    运行Elasticsearch,需安装并配置JDK ,设置$JAVA_HOME ,各个版本对Java的依赖 https://www.elastic.co/support/matrix#matrix_jvm
    Elasticsearch 5需要Java 8以上的版本 ,Elasticsearch 从6.5开始支持Java 11 , 7.0开始,内置了Java环境 , ES比较耗内存,建议虚拟机4G或以上内存,jvm1g以上的内存分配。
    下载并解压ElasticSearch
    下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch
    选择版本:7.17.3
    ElasticSearch文件目录结构
    目录
    描述
    bin :脚本文件,包括启动elasticsearch,安装插件,运行统计数据等
    config :文件目录,如elasticsearch配置、角色配置、jvm配置等。
    jdk :java运行环境
    data :默认的数据存放目录,包含节点、分片、索引、文档的所有数据,生产环境需要修改。
    lib :elasticsearch依赖的Java类库
    logs :默认的日志文件存储路径,生产环境需要修改。
    modules :包含所有的Elasticsearch模块,如Cluster、Discovery、 Indices等。
    plugins :已安装插件目录
    启动ElasticSearch服务
    Windows
    直接运行elasticsearch.bat
    Linux( centos7)
    ES不允许使用root账号启动服务,如果你当前账号是root,则需要创建一个专有账户。
      # root 用户  
    bin / elasticsearch
    运行 http://localhost:9200/

    客户端Kibana安装
    Kibana是一个开源分析和可视化平台,旨在与Elasticsearch协同工作。
    下载并解压缩Kibana
    下载地址: https://www.elastic.co/cn/downloads/past-releases#kibana
    选择版本:7.17.3
    运行Kibana
    Windows
    直接运行kibana.bat
    Linux( centos7)
    ES不允许使用root账号启动服务,如果你当前账号是root,则需要创建一个专有账户。
    bin / kibana
    访问Kibana: http://localhost:5601/

    Elasticsearch安装分词插件
    Elasticsearch提供插件机制对系统进行扩展
    以安装analysis-icu这个 分词 插件为例
    Windows
    本地下载相应的插件,解压,然后手动上传到elasticsearch的plugins目录,然后重启ES实
    例就可以了。
    Linux( centos7)
    # 查看已安装插件
    bin / elasticsearch plugin list
    # 安装插件
    bin / elasticsearch plugin install analysis icu
    # 删除插件
    bin / elasticsearch plugin remove analysis icu
    分词测试
    完成上述操作, Elasticsearch基本上算入门了,可以学习下面进阶的一些语法啦!

  • 相关阅读:
    java划分每个月的周数及其每周的开始时间和结束时间
    TCP协议的状态码详解
    碰瓷“一带一路”
    SSM - Springboot - MyBatis-Plus 全栈体系(三十六)
    Chrome版本对应Selenium版本
    后缀自动机(SAM)+广义后缀自动机(GSA)
    持续集成部署-k8s-深入了解 Pod:生命周期
    windows2016解决电脑远程桌面连接没有启用身份验证问题
    计算机毕业设计ssm校园竞赛管理系统设计与实现hyr9b系统+程序+源码+lw+远程部署
    USACO Training 1.3 Palindromic Squares
  • 原文地址:https://blog.csdn.net/m0_57237237/article/details/125410625