ElasticSearch学习笔记

目录

1、Lucene简介

1.1、Lucene介绍

1.2、Lucene全⽂检索流程

1.2.1、创建索引

1.2.2、查询索引 

1.3、分词器

1.3.1、分词器的作⽤

1.3.2、英⽂分词器的原理

1.3.2 中⽂分词器的原理

1.3.3、停⽤词的规

1.3.4、常⽤分词器

1.3.5、IK 分词器

1.4、lucene全⽂检索与数据库查询的⽐较

1.4.1、性能上

1.4.2、相关度排序

1.4.3、准确性

2、ElasticSearch简介

2.1、ElasticSearch vs Lucene的关系

2.2、ElasticSearch与Solr对⽐

2.3、Elasticsearch特性

2.3.1、安装管理⽅便

2.3.2、⼤规模分布式

2.3.3、多租户⽀持

2.3.4、⾼可⽤性

2.3.5、操作持久化

2.3.6、友好的RESTful API

3、Elasticsearch逻辑结构

3.1、索引(index)

3.2、类型(type)

3.3、⽂档(documents)

3.4、字段(fields)

3.5、节点与集群

4、ES基本操作

4.1、ES是基于RESTful实现访问

4.2、基本操作

4.3、数据类型

4.4、复杂查询-数据搜索

4.3.2、复杂查询语法

4.3.3、term和terms

⽤于对keyword字段进⾏精确匹配

4.4.4、match查询(重点)

4.4.5、根据id查询

4.4.6、其他查询

4.5、复合查询—bool

4.6、结果过滤—filter

4.7、⾼亮显示(重点)

5、SpringBoot整合ES

5.1、创建SpringBoot应⽤

5.2、添加es的依赖

5.3、配置Bean

5.4、使⽤案例


1、Lucene简介

1.1、Lucene介绍

Lucene是Apache Jakarta家族中的一个开源项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎,索引引擎和部分文本分析引擎。

Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在java开发环境里
Lucene是一个成熟的免费开源工具,是目前最为流行的基于java开源全文检索工具包。

  • 数据总体分为两种:
        结构化数据:指具有固定格式或有限⻓度的数据,如数据库、元数据等

⾮结构化数据:指不定⻓或⽆固定格式的数据,如邮件、word⽂档等磁盘上的⽂件

  • 对于结构化数据的全⽂搜索很简单,因为数据都是有固定格式的,例如搜索数据库中数
    据使⽤ SQL 语句即可
    • 对于⾮结构化数据,有以下两种⽅法:顺序扫描法(Serial Scanning)、全⽂检索 (Full-text Search)
      顺序扫描法 :如果要找包含某⼀特定内容的⽂件,对于每⼀个⽂档,从头到尾扫描内容,如
      果此⽂档包含此字符串, 则此⽂档为我们要找的⽂件,接着看下⼀个⽂件,直到扫描完所有
      的⽂件,因此速度很慢。
      全⽂检索 :将⾮结构化数据中的⼀部分信息提取出来,重新组织,使其变得具有⼀定结构,
      然后对此有⼀定结构的数 据进⾏搜索,从⽽达到搜索相对较快的⽬的。这部分从⾮结构化数
      据中提取出的然后重新组织的信息,我们称之索引。

      1.2、Lucene全⽂检索流程

      • 创建索引过程,对要搜索的原始内容进⾏索引构建⼀个索引库。索引过程包括:确定原
        始内容即要搜索的内容 采集⽂档 创建⽂档 分析⽂档 索引⽂档。
      • 搜索索引过程,从索引库中搜索内容。搜索过程包括:⽤户通过搜索界⾯ 创建查询
        执⾏搜索,从索引库搜索 渲染搜索结果。

      1.2.1、创建索引

          对⽂档索引的过程,将⽤户要搜索的⽂档内容进⾏索引,索引存储在索引库( index )中。
      这⾥我们要搜索的⽂档是 磁盘上的⽂本⽂件,根据案例描述:凡是⽂件名或⽂件内容包括关
      键字的⽂件都要找出来,这⾥要对⽂件名和⽂件内 容创建索引。
      • 获得原始⽂档:
        原始⽂档是指要索引和搜索的内容。原始内容包括互联⽹上的⽹⻚、数据库中的数据、
        磁盘上的⽂件等。
      • 创建⽂档对象:
        获取原始内容的⽬的是为了索引,在索引前需要将原始内容创建成⽂档( Document ),
        ⽂档中包括⼀个⼀个的域 ( Field ),域中存储内容。 这⾥我们可以将磁盘上的⼀个⽂件
        当成⼀个 document Document 中包括⼀些 Field (file_name ⽂件名称、 fi le_path ⽂件
        路径、 fi le_size ⽂件⼤⼩、 fi le_content ⽂件内容),如下图:

        注意: 

      •  每个Document可以有多个Field,不同的Document可以有不同的Field

      •  每个⽂档都有⼀个唯⼀的编号,就是⽂档 id
      • 分析⽂档:
        将原始内容创建为包含域( Field )的⽂档( document ),需要再对域中的内容进⾏分
        析,分析的过程是经过对原始⽂档提取单词、将字⺟转为⼩写、去除标点符号、去除停
        ⽤词等过程⽣成最终的语汇单元,可以将语汇单元理解为⼀ 个⼀个的单词。 ⽐如下边的
        ⽂档经过分析如下   
               原⽂档内容:
       
      Lucene is a Java full-text search engine. Lucene is not a complete
      application, but rather a code library and API that can easily be
      used to add search capabilities to applications.
      分析后得到的语汇单元:
      lucene java full search engine...
      每个单词叫做⼀个 Term ,不同的域中拆分出来的相同的单词是不同的 term term 中包
      含两部分⼀部分是⽂档的域名,另⼀部分是单词的内容。 例如:⽂件名中包含 apache
      ⽂件内容中包含的 apache 是不同的 term
      • 创建索引—倒排索引:
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
elasticsearch 学习笔记包括以下内容: 一、Elasticsearch概述: - Elasticsearch是一种开源的分布式搜索和分析引擎,可以用于快速搜索、分析和存储大量的结构化和非结构化数据。 - Elasticsearch与Solr相比有一些区别,包括用户、开发和贡献者社区的规模和成熟度等方面。 二、Elasticsearch安装: 1. 下载Elasticsearch,可以从官方网站或华为云镜像下载。 2. 安装Elasticsearch。 三、安装head插件: - head插件是一个可视化的管理界面,可以方便地管理和监控Elasticsearch集群。 四、安装Kibana: 1. Kibana是一个开源的数据可视化工具,用于展示和分析Elasticsearch的数据。 2. 下载Kibana并安装。 3. 启动Kibana并进行访问测试。 4. 可选的汉化操作。 五、ES核心概念理解: - 学习ES的核心概念,包括索引、文档、映射、查询等。 以上是elasticsearch学习笔记的主要内容,希望对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Elasticsearch 学习笔记(上)](https://blog.csdn.net/m0_52691962/article/details/127064350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值