ElasticSearch全文搜索引擎基础

1.es的认识

1.1什么是es?

es 全称elasticsearch

es : 做全文检索的 ,底层基于lucene的开发

​ lucene 相等于jdbc

​ es 相当于 mybatis/jpa

1.2 es和lucene的比较

为什么需要使用es.为什么不用lucene?

(1).api操作很麻烦 不方便

​ 搜索 : 创建索引 搜索索引 一堆api

​ es: get /product/1 – {}

(2).lucene不支持集群

​ es集群 处理很大的数据量

1.3 ES和solr的区别

es 和 solr 都可以做全文检索,solr是重量级的框架,它除了全文检索以外,还可以做其他的事情(比如

命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)),solr可以nosql结合起来使用

solr 在传统的搜索效率要比es好,但是实时搜索领域比es低

2 使用ES(掌握)

(1).安装ES服务端

​ 解压–>bin/elasticsearch.bat–>浏览器访问 http://localhost:9200/

​ 9200web里面展示的效果 9300java程序可以访问的端口

(2).es的客户端的交互方式

​ a). 基于restful风格API的去操作

​ get post put delete patch

​ (1).curl的命令方式

​ (2).kibana也可以操作

​ (3).head工具

3 使用客户端

(1).kibanna客户端

​ index : 索引库

​ type: 看成一个表

​ json:看成一行数据
在这里插入图片描述

4 ES(服务) 集群的状态

​ red: 红色 不健康的状态 服务的有问题

​ green:绿色 所有的正常 主从都分配好,集群可以使用

​ yellow:黄色 主从分配 至少有一个从缺失

​ 2主 1从

5 文档的crud

5.1 基本的crud

# 完成crud
# 新增
PUT  rpms/employee/1
{
  "name":"zhangsan",
  "age":18
}

# 修改 --整个文档
POST rpms/employee/1
{
  "name":"lisi"
}
# 修改局部文档
POST rpms/employee/1/_update
{
  "doc":{"name":"lisi"}
}


# 查询
GET crm/employee/1

# 删除

DELETE crm/employee/1

5.2 特殊的用法:

# 展示没有什么效果
GET rpms/employee/AW-tOSHILqo6XVH8f6cg?pretty

# 展示部分的字段

GET rpms/employee/AW-tOSHILqo6XVH8f6cg?_source=age,name

# 返回元数据
GET rpms/employee/AW-tOSHILqo6XVH8f6cg/_source

# 修改数据 (脚本修改)
POST rpms/employee/AW-tOSHILqo6XVH8f6cg/_update
{
"script" : "ctx._source.age += 5"
}

# 批量新增 
POST _bulk
{ "delete": { "_index": "itsource", "_type": "employee", "_id": "123" }}
{ "create": { "_index": "itsource", "_type": "blog", "_id": "123" }}
{ "title": "样本描述" }
{ "index": { "_index": "itsource", "_type": "blog" }}
{ "title": "采样详情" }


GET itsource/blog/_search

5.3 文档的查询

  1. 通过id查询
GET crm/employee/AW-tOSHILqo6XVH8f6cg/_source
  1. 批量查询
#  不同库 不同表数据 
GET _mget
{
"docs" : [
{
"_index" : "itsource",
"_type" : "blog",
"_id" : "123"
},
{
"_index" : "rpms",
"_type" : "employee",
"_id" : "AW-tOSHILqo6XVH8f6cg",
"_source": ["name","age"]
}
]
}

#  同一个库 同一个表数据
GET itsource/blog/_mget
{
  "ids":["123","AW-tQP_4Lqo6XVH8f6ci"]
}

3 其他的查询


# 分页查询
GET crm/employee/_search?size=3&from=6

# 带条件查询
GET crm/employee/_search?q=age:38
GET crm/employee/_search?q=age[18 TO 48]

Designed By:一名正在努力学习的菜鸟程序猿~Penny,article中所有代码均为上课时老师笔记和 一些自己手敲代码。技艺尚浅,请多指教

发布了7 篇原创文章 · 获赞 0 · 访问量 163
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览