Elasticsearch
You know,for serach!
概念:搜索引擎,数据库
对比mysql:
Relational DB -> Databases 数据库 -> Tables 表 -> Rows 行 -> Columns 列
Elasticsearch -> Indices 索引库 -> Types 类型 -> Documents 文档 -> Fields 字段/属性
特点:
- 分布式,支持多用户的全文搜索引擎
- 具有http web接口
- 无模式json文档
- 所有其他语言可以使用RESTful API 通过端口9200 和Elasticsearch 进行通信
简介:Elasticsearch是一个基于Lucene库的搜索引擎,开源,JAVA开发,最受欢迎的企业搜索引擎,功能强大,是一个实时的分布式搜索分析引擎,它被用作全文检索、结构化搜索、分析以及这三个功能的组合,属于面向文档的数据库
原理:
搜索引擎原理 = 倒排索引(反向索引) + 分析、标准化 + 相关性排序
标准化:
Quick
可以小写化为quick
。foxes
可以 词干提取 --变为词根的格式-- 为fox
。类似的,dogs
可以为提取为dog
。jumped
和leap
是同义词,可以索引为相同的单词jump
。
分析:
- 字符过滤,分词,Token过滤器
相关性排序(评分):
- 检索词频率,字段中出现的频率
- 反向文档频率,检索词在索引中出现的频率
- 字段长度准则,长度越长相关性越低, 越精准权重越高
相关概念理解:
es集群 : 自带集群, 节点, 分片 复制分片, 故障转移
推荐网站:Stack Overflow --技术交流分享的平台
自己归纳整理,欢迎大家纠正