系列一、初始ElasticSearch

发布于:2024-10-11 ⋅ 阅读:(7) ⋅ 点赞:(0)

前言:

       最近公司的业务有用到ElasticSearch,虽然说之前业余时间也自学过ElasticSearch技术,但是在公司实际的业务中开发中没有用过,再加上时间比较久远了,很多东西都忘记了,基于此我决定系统的重新学习一下这门技术,于是便有了该系列的文章。欢迎对此技术同样感兴趣的朋友点赞 + 评论 + 关注 + 转发!

特别说明:该系列的文章参考B站黑马程序员的教程而写,视频链接:

黑马Elasticsearch全套教程,含DSL查询语法、数据聚合、ES集合,最后配有黑马旅游网案例_哔哩哔哩_bilibili

一、了解ES 

1.1、什么是elasticsearch

        elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量的数据中快速找到需要的内容。

        elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。

        elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。

1.2、elasticsearch的发展

        Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。官网地址:https://lucene.apache.org/ 。

Lucene的优势:

        (1)易扩展;

        (2)高性能(基于倒排索引);

Lucene的缺点:

        (1)只限于Java开发;

        (2)学习曲线陡峭;

        (3)不支持水平扩展;

        2004年Shay Banon基于Lucene开发了Compass 2010年Shay Banon 重写Compass,取名为Elasticsearch。 官网地址: https://www.elastic.co/cn/ 目前最新的版本是:7.12.1 相比与lucene,elasticsearch具备下列优势:

        (1)支持分布式,可水平扩展;

        (2) 提供Restful接口,可被任何语言调用;

1.3、为什么学习elasticsearch

搜索引擎技术排名:

(1)Elasticsearch:开源的分布式搜索引擎;

(2)Splunk:商业项目;

(3)Solr:Apache的开源搜索引擎;

1.4、正向索引和倒排索引

1.5、文档

1.6、索引(Index)

1.7、映射(mapping)

索引中文档的字段约束信息,类似于表的结构约束。

1.8、概念对比

1.9、MySQL VS ElasticSearch

二、安装ElasticSearch、Kibana

2.1、Windows中安装

说明:学习阶段使用Windows版本的ES和Kibana即可,生产环境中会搭建ES集群,这里为了降低学习成本,使用Windows版本的ES即可。后续有时间再记录如何在Linux中安装ES!

安装步骤:

        参考:Windows下安装Elasticsearch教程_elasticsearch windows搭建-CSDN博客

        我分享的安装包:
                链接:https://pan.baidu.com/s/1mhOLfwfeWvSqOUTYNVquZg?pwd=yyds 
                提取码:yyds 

效果:

        

2.2、Linux中安装(TODO)

三、分词器

3.1、ik分词器

处理中文分词,一般会使用IK分词器。官网:https://github.com/medcl/elasticsearch-analysis-ik

如何安装ik分词器可以参考Windows下安装Elasticsearch教程_elasticsearch windows搭建-CSDN博客

3.2、ik分词器的两种模式

ik_smart:最少切分,粗粒度

ik_max_word:最细切分,细粒度

3.3、ik分词器-拓展词库

 

3.4、ik分词器-停用词库

周立波