什么是ElasticSearch
基于Apache Lucene构建的开源搜索引擎
采用Java编写,提供简单易用的RESTFul API
轻松的横向扩展,可支持PB级的结构化或非结构化数据处理

可用应用场景
海量数据分析引擎
站内搜索引擎
数据仓库

安装单实例
elastic.co
cd /ela
下载:wget 下载地址 tar.gz
解压:tar -vxf elas.tar.gz
前提还要验证linux 服务的jdk版本是否1.8 java-version
启动:sh ./bin/elasticsearch
检查是否启动浏览器输入:ip:9200

插件安装
ealsticsearch只是后端提供各种api,那么怎么直观的使用它呢?elasticsearch-head将是一款专门针对于elasticsearch的客户端工具。

https://github.com/mobz/elasticsearch-head
下载下来后,还需要node –v 查看一下环境
Npm install
运行:npm run start

Head 访问elasticsearch是有跨域问题,那么需要修改elasticsearch config文件
切换到elasticsearch 目录:vim config/ elasticsearch.yml 在文件最后面加上
http.cors.enabled: true
http.cors.allow-origin: “*”
然后 :wq 保存后
./bin/elasticsearch –d

分布式安装

我就直接在原有的安装好的基础上调整
Vim config/ elasticsearch.yml
首先集群名字
Cluster.name: moss
Node.name: master
Node.master: true

Network.host: 127.0.0.1
:wq
在去找到原来服务重启 ps –ef | grep ’pwd’ 查到原来的 进程剔除。然后在重启启动elasticsearch
Clear 清屏
然后在创建一个目录节点: mkdir es_slave 然后把之前下载的elasticsearch.tar.gz 复制一份过去
安装操作和之前单个实例安装一样
Cp –r elasticsearch-5.5.2 es_slave1
Cp –r elasticsearch-5.5.2 es_slave2
启动2个阶段,前提先去修改config/ elasticsearch.yml 文件
Cluster.name: moss
Node.name: slave1

Network.host: 127.0.0.1
http.port: 8200

discovery.zen.ping.unicast.hosts: [“127.0.0.1”]
:wq
然后在启动
在浏览器 localhost:9100 进去后会发现多了一个阶段 slave1
然后在第二个节点同样的逻辑
从上面来看来,elasticsearch扩容是非常容易方便的

说说基础概念
请输入图片描述

索引 含有相同属性的文档集合
类型 索引可以定义一个或多个类型,文档必须属于一个类型
文档 文档是可以被索引的基本数据单位
分片 每个索引都有多个分片,每个分片是一个Lucene索引
默认创建:5 个分片
备份 拷贝一份分片就是完成了分片备份

索引创建
使用到一个工具 Postman
RESTFul API
API基本格式http://<;ip>:<port>/<索引>/<类型>/<文档id>
常用HTTP动词 GET/PUT/POST/DELETE

插入
指定文档id插入
自动产生文档id插入

修改
直接修改文档
脚本修改文档

删除
删除文档
删除索引

查询
简单查询
条件查询
聚合查询

高级查询
子条件查询 特定字段查询所指定特定值
Query Context 全文本查询 针对文本类型数据 字段级别查询 针对结构化数据,如 数字、日期等
在查询过程中,除了判断文档中是否满足查询条件外,ES还会计算一个—_score来标识匹配的程度,在判断目标文档和查询条件匹配的有多好

Filter Context
在查询过程中,只判断该文档是否满足条件,只有Yes或者No。

复合条件查询 以一定的逻辑组合子条件查询
常用查询:固定分数查询、布尔查询、...more

举例:SpringBoot集成ES 做一个增删改查
图书信息管理接口开发
请输入图片描述

标签: none

添加新评论