Elasticsearch

You know,for serach!

概念:搜索引擎,数据库

对比mysql:

Relational DB -> Databases 数据库 -> Tables 表 -> Rows 行 -> Columns 列
Elasticsearch -> Indices 索引库 -> Types 类型 -> Documents 文档 -> Fields 字段/属性

特点:

  1. 分布式,支持多用户的全文搜索引擎
  2. 具有http web接口
  3. 无模式json文档
  4. 所有其他语言可以使用RESTful API 通过端口9200 和Elasticsearch 进行通信

简介:Elasticsearch是一个基于Lucene库的搜索引擎,开源,JAVA开发,最受欢迎的企业搜索引擎,功能强大,是一个实时的分布式搜索分析引擎,它被用作全文检索、结构化搜索、分析以及这三个功能的组合,属于面向文档的数据库

原理:

搜索引擎原理 = 倒排索引(反向索引) + 分析、标准化 + 相关性排序

 

标准化:

  • Quick 可以小写化为 quick 。
  • foxes 可以 词干提取 --变为词根的格式-- 为 fox 。类似的, dogs 可以为提取为 dog 。
  • jumped 和 leap 是同义词,可以索引为相同的单词 jump 。

分析:

  • 字符过滤,分词,Token过滤器

相关性排序(评分):

  • 检索词频率,字段中出现的频率
  • 反向文档频率,检索词在索引中出现的频率
  • 字段长度准则,长度越长相关性越低,  越精准权重越高

相关概念理解:

es集群 : 自带集群, 节点, 分片 复制分片, 故障转移

 

推荐网站:Stack Overflow  --技术交流分享的平台

自己归纳整理,欢迎大家纠正

posted @ 2019-11-06 10:47  沐军  阅读(111)  评论(0编辑  收藏  举报