1、简介
Elaticsearch ,简称为es,es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得变得简单。
2、安装
- 到官网下载windows版本https://www.elastic.co/downloads/elasticsearch。
- es要求jdk必须在1.8以上。默认占用9300端口和9200端口。
- 解压后找到bin目录下的启动项。
- 启动成功
- 浏览器输入localhost:9200
3、安装图形界面管理工具
- 默认的es是不具有图形化界面的。
- 下载插件完成图形化界面https://github.com/mobz/elasticsearch-head
- 下载后打开:
- 这是一个js的工程,需要node.js环境
- 安装后node.js后,打开命令行执行
npm install -g grunt-cli
npm install
grunt server
- 输入localhost:9100就可以看到图形化界面了。
- 目前还是连接不了, 但是这里我们还需要配置一下es,因为由9100连接9200是跨域,所以配置允许跨越。
修改config/elasticsearch.yml增加下面两条命令
http.cors.enabled: true
http.cors.allow-origin: "*"
- 重新启动es服务,点击连接,连接成功
4、es与关系型数据库的对比
一个es相当于一个关系型数据库,Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document).然而它不仅仅是存储,还会索引index}每个文档的内容使之可以被搜索。在Elasticsearch中 ,你可以对文档(而非成行成列的数据)进行索引,搜索。排序.过滤,Elasticsearch比传统关系型数据库如下 :
Rational DB -> databases -> table ->rows ->columns
es -> indices -> types ->documents ->feilds