全文搜索属于最多见的需求,开源的 Elasticsearch (如下简称 Elastic)是目前全文搜索引擎的首选。mysql
它能够快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。sql
Elastic 的底层是开源库 Lucene。可是,你无法直接用 Lucene,必须本身写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操做接口,开箱即用。apache
本文从零开始,讲解如何使用 Elastic 搭建本身的全文搜索引擎。每一步都有详细的说明,你们跟着作就能学会。搜索引擎
ElasticSearch基本概念
一、 Index(索引)
动词:至关于Mysql中的insert;spa
名词:至关于Mysql中的Database;blog
二、 Type(类型)
在Index(索引中),能够定义一个或多个类型。相似于mysql中的table,每一种类型的数据放在一块儿。索引
三、Document(文档)
保存在某个索引(Index)下,某种类型(Type)的一个数据(Document),文档是JSON格式,Document就像是Mysql中的某个Table里面的内容。接口
四、倒排索引机制
分词:将整句分拆为单词文档
保存的记录
1-红海行动
2-探索红海行动
3-红海特别行动
4-红海记录篇
5-特工红海特别探索get