谷粒商城学习——P102ElasticSearch简介

@ES官网

ElasticSearch下文及以后简称es

es是什么,能做哪些事情,有哪些特点?

es是搜索和分析引擎,开源、分布式,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据等。Elasticsearch 在 Apache Lucene 的基础上开发而成,因 REST 风格 API、分布式特性、速度和可扩展性而闻名,有以下用途:

  • 应用程序搜索
  • 网站搜索
  • 企业搜索
  • 日志处理和分析
  • 基础设施指标和容器监测
  • 应用程序性能监测
  • 地理空间数据分析和可视化
  • 安全分析
  • 业务分析

@官网相关说明

基本概念:

 

1,Index(索引)

  作动词时,可理解为插入,相当于mysql的insert

  做名词时,相当于mysql的数据库

2,Type类型

  相当于mysql中的table,在Index(索引)中,可以定义一个或多个类型

3,Document(文档)

  相当于mysql中,table的行数据。是保存在某个索引(Index)下,某种类型(Type)的一个数据(Document),json格式

4,属性

  相当于table表的字段

老师讲课课件:

 

 

ES为什么检索高效?

得益于倒排索引机制,以“红海行动”为例说说这个机制的原理:

将红海行动存一条记录,假如命名这条为1

红海行动进行分词,比如分为红海和行动两个词,将这俩词再维护到倒排索引表中,这个索引表就会这样记录

红海  1

行动  1

上面的意思是红海这个词在记录1中存在,行动这个词在记录1中存在

同理,如果存探索红海行动为记录2,倒排索引表就是这样

探索  2

红海  2

行动  2

合起来就是

探索  2

红海  1,2

行动  1,2

类推红海特工行动3就是

探索  2

红海  1,2,3

行动  1,2,3

特工  3

 

来检索时,首先分词,比如特工行动这4个字,特工检索结果是3,行动检索结果是1,2,3,所以检索返回的结果就是1,2,3对应的数据:

红海行动

探索红海行动

红海特工行动

返回这3条记录会有相关性得分,本例中,3记录出现了两次,1和2记录都是出现两次,那就是3记录“红海特工行动”得分最高

老师讲课课件:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章