ElasticSearch-全文检索(一)基本介绍
简介 Elasticsearch:官方分布式搜索和分析引擎 | Elastic
全文搜索属于最常见的需求,开源的Elasticsearch是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、StackOverflow、Github都采用它
Elastic的底层是开源库Lucene。但是,你没法直接用Lucene,必须自己写代码去调用它的 接口。Elastic是Lucene的封装,提供了RESTAPI的操作接口,开箱即用。 RESTAPI:天然的跨平台。
然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确的形容:
- 一个分布式的实时文档存储,每个字段 可以被索引与搜索
- 一个分布式实时分析搜索引擎
- 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
官方中文:https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html
社区中文: https://es.xiaoleilu.com/index.html http://doc.codingdict.com/elasticsearch/0
一、基本概念
1、Index(索引)
动词,相当于MySQL中的insert;
名词,相当于MySQL中的Database
2、Type(类型)
在Index(索引)中,可以定义一个或多个类型。
类似于MySQL中的Table;每一种类型的数据放在一起;
3、Document(文档)
保存在某个索引(Index)下,某种类型(Type)的一个数据(Document),文档是JSON格 式的,Document就像是MySQL中的某个Table里面的内容
4、倒排索引机制