es笔记

Elasticsearch

搜索引擎:进行搜索的,就好比百度搜索!

例子:用户输入"python",检索出相关的文章!

简介:

  • 1、Elasticsearch是一个基于Lucene库的搜索引擎。
  • 2、RESTful API 通过端口 9200 和 Elasticsearch 进行通信
    • 学习如何使用Elasticsearch搜索引擎去进行查询,实际上就是学习该搜素引擎提供的restful风格的http接口;
  • 3、属于面向文档的数据库JSON文档
    • 被检索的数据,被以“文档”作为载体存储在es搜索引擎库中!
    • mysql是以形式存储数据,es就以文档的形式去存储数据!
  • 4、Elasticsearch是用Java开发的
  • 5、Elasticsearch是最受欢迎的企业搜索引擎
  • 6、Elasticsearch是分布式的
  • 7、Elasticsearch 是一个实时的分布式搜索分析引擎,它被用作全文检索、结构化搜索、分析以及这三个功能的组合

搜索的原理

反响索引构建流程

1、标准化过程——减少并合理化反向索引表中的词条,以便于搜索

  • 把大写转化成小写
  • 复数统一转换为单数——提取词干
  • 统一同义词

2、分析器过滤词条

  • 字符过滤器:把特殊的符号,转化成真正的词条
  • 分词器:把被检索的内容,进行分词操作,拆分成一个个单词;空格和标点都会被丢弃;
  • Token 过滤器 (词条过滤器):把一些非核心词汇剔除,如一些语气词等;

3、倒排索引(反向索引)

  • 词条作为索引表的行,把被检索的文档作为索引表的列;这种索引的构建称之为反向索引;
  • 存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射;
相关性排序:es搜索引擎如何判断某一篇/多篇文章,更加符合用户的搜索需求!

根据用户的检索词,去计算每一片相关文章的评分,评分越高的文章,相关度就越高!

评分的原理(评分越高,相关性就越高,就越符合用户搜索):

  • 检索词频率: 某一个检索词,出现在某一篇文章的次数越多,根据该词计算的分值就越高,该文章的相关度就越高!
  • 反向文档频率:一个词出现在越多的文档中,改词反向文档频率就越高,反之越低!如果一个词反向文档频率越低,那么根据该词计算出来的分值就越高!
  • 字段长度准则:被检索的字符长度越长,相关度越低;字符长度越低,相关度越高!
索引 (indexing)

在es搜索引擎中,索引这个词有两个含义:

1、用作动词:构建反向索引表

2、用作名次:索引库

es搜索引擎库和mysql的对比

mysql -> Databases 数据库 -> Tables 表 -> Rows 行 -> Columns 列
Elasticsearch -> Indices 索引库 -> Types 类型 -> Documents 文档 -> Fields 字段/属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值