简介
全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选。它可以快速地存储、搜索和分析海量数据。
维基百科、Stack Overflow、Github 都采用它。
Elastic 的底层是开源库 Lucene。
但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。
Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。
REST API:天然的跨平台。
一、基本概念
1、Index(索引)
动词,相当于 MySQL 中的 insert;
名词,相当于 MySQL 中的 Database
2、Type(类型)
在Index(索引)中,可以定义一个或多个类型;
类似于MySQL 中的 Table;每一种类型的数据放在一起。
3、Document(文档)
保存在某个索引(Index)下,某种类型(Type)的一个数据(Document),文档是 JSON 格式的,
Document 就像是 MySQL 中的某个 Table 里面的内容。
4、倒排索引机制
词 | 记录 |
---|---|
红海 | 1,2,3,4,5 |
行动 | 1,2,3 |
探索 | 2,5 |
特别 | 3,5 |
记录篇 | 4 |
特工 | 5 |
分词
:将整句分拆为单词
保存的记录
- 1-红海行动
- 2-探索红海行动
- 3-红海特别行动
- 4-红海记录篇
- 5-特工红海特别探索
检索
:
1)、红海特工行动?
2)、红海行动?
相关性得分
: