ElasticSearch知识点总结

1 Es是什么?

  • Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎
  • 能够达到实时搜索,稳定,可靠,快速,安装使用方便。
  • 客户端支持Java、.NET(C#)、PHP、Python、Ruby等多种语言。

2 为什么要使用ES?

  • 数据量在几万或者几十万时候,所以采用以往的模糊查询,实时与数据库交互,会导致效率特别低下
  • 不能将搜索词拆分开来,如果采用以往的模糊查询,比如 name =’手机%’, 只能搜索名字是“手机”开头的手机商品,如果想搜出“华为手机”或者”手机壳“那是搜索不出来的。

3 Es和传统关系性数据库比较

image-20230228224035138

4 什么是全文检索

  • 全文检索是指:通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数。
  • 用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了

5 什么是倒排索引?

对于关系型数据库mysql来说,普通的索引结构就是“id->题目->内容”,在我们搜索的时候,如果我们知道id或者题目,那么检索效率是很高效的,因为“id”、“题目”是很方便创建索引的。

那么倒排序索引的结构是怎样的呢?简单来讲就是“以内容的关键词”建立索引,映射关系为“内容的关键词->ID”。这样的话,我们只需要在“关键词”中进行检索

6 Elasticsearch中的核心概念

6.1 索引index

类似于数据库中的,存放拥有某些共同特征的文档的集合。

6.2 字段类型Type

类似于数据库中的, 在7.0开始,一个索引只能建一个Type为_doc

6.4 字段Field

相当于是数据表的字段|列

6.5 文档document

一个文档是一个可被索引的基础信息单元,类似一条记录。文档以JSON(JavascriptObjectNotation)格式来表示;

6.6 映射mapping

mapping是处理数据的方式和规则方面做一些限制,如某个字段的数据类型、默认值、分词器、是否被索引等等,这些都是映射里面可以设置的


ElasticSearch知识点总结
http://example.com/ElasticSearch知识点总结/
作者
Panyurou
发布于
2022年9月22日
许可协议