Elasticsearch的介绍与安装配置启动问题
Elasticsearch的介绍
1.产生的背景是大规模数据要如何去进行检索,怎么样去保证数据的安全,出现单点故障不会造成影响,以及如何备份与提高检索的速度
2.Elasticsearch是一款基于Lucene的分布式搜索和分析引擎,全文检索引擎,它是由java开发的,但是目的在于通过简单的restful api来隐藏Luncene的复杂性,使得全文检索变得简单
3.Lucene与Elasticsearch的关系?
Luncene只是java的一个库,只能java来使用,而Elasticsearch是基于Luncene来封装的,做成服务,通过restful来调用,使用全文检索
4.Elasticsearch与solr
solr也是一个全文检索引擎,传统的如银行等用solr比较多,而新兴的互联网用Elasticsearch比较多
5.es核心概念有以下几点:
集群:多台服务器的集合,称为es的集群
节点: 集群的每一个服务器称为节点
分片:对数据进行分片,分别放在不同的节点上
副本:为提高查询吞吐量或者实现高可用性,可以使用分片副本(分片副本存不同的内容)
全文检索:分词和全文检索
6.es跟mysql比较
mysql es
数据库 索引
表 类型
一条条的数据 文档
一列列的字段 字段
字段的属性 映射
索引 所有字段建立索引(倒排索引)
增删改查 get,post,delete请求
7.ELK指的是Elasticsearch——Logstash+kibana
日志的收集和分析系统
8 Elasticsearch索引到底能处理多大数据
-es一个索引(数据库)可以有多个分片,一个分片是一个lucene的索引
-lucene一个索引不能处理多于21亿篇文档,或者多于2740亿的唯一词条
-理论上是可以无限加的
Elasticsearch的配置与安装
1.基于java开发的,安装jdk,windows上安装(jdk 1.8 以上),一路下一步(jdk,jre),(不需要配置环境变量了)
2.安装es(去官网下载相应的版本,es+kiban. 注意版本一定要对应)
-haystack:不支持es,6以上版本,django上做全文检索的框架(对接es,对接solr,对接whoosh)
-whoosh-纯Python的全文搜索库,Whoosh是索引文本及搜索文本的类和函数库。它能让你开发出一个个性化的经典搜索引擎
-6以后,不允许一个索引下建多个type(类型)---》一个数据库只能有一个表
3.解压到指定目录(随便,不要有空格,中文 )
4.启动es
-到es的bin路径下,elasticsearch.bat
-Kibana 就是es的客户端(官方提供,相当于Navicat)
-Elasticsearch-head 就是es的客户端(第三方的,相当于Navicat)
5.启动kibana
-修改kibana配置文件
server.port: 5601
server.host: "127.0.0.1"
server.name: lqz
elasticsearch.hosts: ["http://localhost:9200/"]
-配置跨域(改es的配置)
-elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
-到kibana的bin路径下,kibana.bat 启动
6. 启动Elasticsearch-head(第三方用node 写的一个es客户端)
-node 环境要装好
-下载:https://github.com/mobz/elasticsearch-head
-解压
-执行
npm install
npm run start
http://localhost:9100/
# kibana:官方提供的es客户端,主要用来做增删查改,有提示(postman,Elasticsearch-head)
# Elasticsearch-head :看集群的状态,索引的状态
Elasticsearch启动成功
启动kibana
启动Elasticsearch-head