ElasticSearch快速入门

快速开始

安装配置:

1、新版本要求至少jdk1.8以上。
2、支持tar、zip、rpm等多种安装方式。
在windows下开发建议使用ZIP安装方式。
3、支持docker方式安装
详细参见:https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html
下载ES: Elasticsearch 6.2.1
https://www.elastic.co/downloads/past-releases
解压 elasticsearch-6.2.1.zip

image-20210325144317532

bin:脚本目录,包括:启动、停止等可执行脚本
config:配置文件目录
data:索引目录,存放索引文件的地方
logs:日志目录
modules:模块目录,包括了es的功能模块
plugins :插件目录,es支持插件机制

配置文件

cluster.name: xuecheng      #集群名称
node.name: xc_node_1        #节点名称
network.host: 0.0.0.0       #可以绑定任何ip 访问外网
http.port: 9200             #暴露的http端口
transport.tcp.port: 9300    #http内部的交互接口
node.master: true           #主节点
node.data: true             #数据节点
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]  #俩个集群节点 ip与端口
discovery.zen.minimum_master_nodes: 1    #最大主节点个数
node.ingest: true                       #
bootstrap.memory_lock: false            #内存的锁定  如果锁定这块空间只给es使用
node.max_local_storage_nodes: 2         #最大的存储节点

path.data: D:\Java\elasticsearch-6.2.1\data  #索引目录
path.logs: D:\Java\elasticsearch-6.2.1\logs   #日志目录

http.cors.enabled: true                     #跨域设置
http.cors.allow-origin: /.*/                

运行

运行elasticsearch.bat

安装解压可视化插件head

image-20210325145820419

运行命令npm run start 在浏览器打开

image-20210325150931094

索引(名词):ES是基于Lucene构建的一个搜索服务,它要从索引库搜索符合条件索引数据。
索引(动词):索引库刚创建起来是空的,将数据添加到索引库的过程称为索引。

打开postman

image-20210325150754377

创建索引库

put http://localhost:9200/索引库名称 只能用put创建索引

{
	"settings": { //设置索引
		"index": { //索引
			"number_of_shards": 1,  //分片有几个
			"number_of_replicas": 0 //副本有几个
		}
	}
}

image-20210325151224248

创建了一片索引也可以在浏览器上面直接创建索引

索引库相当于关系型数据库的表

然后创建映射

image-20210325152137842

post或者put写入映射 get查看

改文档会把这个文档删了再添加一个

坑:postman执行查询时候 body里面不要包含数据 不然会查询失败

分词

image-20210325163658485

默认分词查询 默认单字分词

ik分词器解压放在elasticsearch/plugins里面 命名ik好区分 应为以后要放很多插件

在原本内容后加上分词器关键词 “analyzer”:“ik_max_word”

  • ik_max_word 细颗粒 一般存储使用
  • ik_smart 粗颗粒 一般查询使用
  • 自定义词汇 在ik目录下打开配置文件命名一个扩展字典 然后在配置文件同级创建一个文件 然后加入词汇 一定要是utf-8格式 然后重启es
映射

post映射 提交 没有就是添加有了就是更新

es类型添加了 后期就不可以修改了 想修改只能删除映射库 重新创建

常用映射类型

"text ik_max_wide:?

想全文搜索必须设置分词器 索引用细的 索引使用ik_maxword

analyzer 搜索使用ik_nax_word


ElasticSearch

ElasticSearch由来
Hadoop又叫HDF
Lucene是一套信息检索工具包
Lucene与ElasticSearch关系

ElasticSearch是基于Lucene做了一些封装和增强

ElasticSearch概述

es满足一个三高的分布式全文检索引擎;可以扩展到上百台服务器,目的通过简单的restfulapi来隐藏lucene的复杂性 2016年成为了排名第一的搜索引擎类应用

谁在使用

维基百科

github

电商网站 检索商品

站内搜索(电商,照片,门户等等)

ELK三剑客

ElasticSearch搜索 logstash过滤 kibana可视化分析

ES和solr的差别
ElasticSearch简洁

全文搜索 结构化搜索 分析

solr简洁

也是基于lucene 但是他对外是webservice api接口 相比之下 es是更主流

lucene简洁

lucene只是一个免费的信息检索库

如何选择

单纯对已有数据搜索 solr更快

当实时建立索引 solr会产生io阻塞 查询性能较差 索引es更快

随着数据量增加,solr搜索变得更低 es没啥变化

es与solr总结

es开箱即用 solr略微复杂

solr支持更多格式 es只支持json

solr官方提供功能更多 es更注重核心功能 高级功能第三方插件提供

solr利用zkp分布式管理 es利用自己的分布式协调

solr查询快 更新索引时慢 (插删慢)

ElasticSearch安装

官网安装 config下的配置文件修改

bin:启动文件
config:配置文件
log4j2.properties:日志配置文件
jvm.options:java虚拟机的配置
elasticsearch.yml:es的配置文件
data:索引数据目录
lib:相关类库Jar包
logs:日志目录
modules:功能模块
plugins:插件

image-20210602232230150

安装ES的图形化界面插件客户端

注意:需要NodeJS的环境,我们讲解大前端进阶已经安装过了,没安装的需要安装!
Head是elasticsearch的集群管理工具,可以用于数据的浏览查询!被托管在github上面!
地址: https://github.com/mobz/elasticsearch-head/
1、下载 elasticsearch-head-master.zip
2、解压之后安装依赖!

cnpm install
npm run start

启动插件(可视化页面)

在插件目录 进入cmd 输入

npm run start
解决跨域问题

先停止es 修改配置文件 修改完保存后 重启再次连接

es配置文件config下的elasticsearch.yml 在最下方配置

cluster.name: xuecheng      #集群名称
node.name: xc_node_1        #节点名称
network.host: 0.0.0.0       #可以绑定任何ip 访问外网
http.port: 9200             #暴露的http端口
transport.tcp.port: 9300    #http内部的交互接口
node.master: true           #主节点
node.data: true             #数据节点
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]  #俩个集群节点 ip与端口
discovery.zen.minimum_master_nodes: 1    #最大主节点个数
node.ingest: true                       #
bootstrap.memory_lock: false            #内存的锁定  如果锁定这块空间只给es使用
node.max_local_storage_nodes: 2         #最大的存储节点

path.data: D:\Java\elasticsearch-6.2.1\data  #索引目录
path.logs: D:\Java\elasticsearch-6.2.1\logs   #日志目录

http.cors.enabled: true                     #跨域设置
http.cors.allow-origin: /.*/     

这个信息指的就是9200的信息

image-20210602233553549

初学,把es当做一个数据库!(可以简历索引(库),文档(库中的数据))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小九网创

记得私信我,得源码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值