JAVA-ElasticSearch入门到放弃

ES安装及使用说明

1.下载ES安装包
官方下载地址:https://www.elastic.co/downloads/elasticsearch
在window环境下,ES 5.2.2版本为例,下载对应的ZIP文件
在这里插入图片描述
2.解压文件夹,在bin目录下打开elasticsearch.bat
注意:启动es会吃很多内存,内存不够需要修改就找到config文件目录下的jvm.options,打开找到(Xms:代表最小2G,Xmx代表最大2G),修改最小为200m(兆),运行内存会变小。
3.验证
访问:http://localhost:9200
在这里插入图片描述
看到上图信息,你的ES集群已经启动并且正常运行.

Restful

介绍:
Restful是一种面向资源的架构风格,可以简单理解为:使用URL定位资源,用HTTP动词(GET,POST,DELETE,PUT)描述操作。

使用Restful的好处:

透明性,暴露资源存在。
充分利用 HTTP 协议本身语义。
无状态,这点非常重要。在调用一个接口(访问、操作资源)的时候,可以不用考虑上下文,不用考虑当前状态,极大的降低了复杂度。
HTTP 本身提供了丰富的内容协商手段,无论是缓存,还是资源修改的乐观并发控制,都可以以业务无关的中间件来实现。

辅助管理工具Kibana5

1.Kibana5.2.2下载地址:https://www.elastic.co/downloads/kibana
2.解压并启动Kibana5 : bin\kibana.bat(注意:使用Kibana5要联网,不然一直出现warning错误)
启动成功界面:
在这里插入图片描述
3.默认访问地址:http://localhost:5601
进入界面代表成功
在这里插入图片描述
Discover:可视化查询分析器
Visualize:统计分析图表
Dashboard:自定义主面板(添加图表)
Timelion:Timelion是一个kibana时间序列展示组件(暂时不用)
Dev Tools :Console(同CURL/POSTER,操作ES代码工具,代码提示,很方便)
Management:管理索引库(index)、已保存的搜索和可视化结果(save objects)、设置 kibana 服务器属性。

ES数据管理

什么是ES中的文档:
ES是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在ES中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。
ES使用Javascript对象符号(JavaScript Object Notation),也就是JSON,作为文档序列化格式。
基本语法-增删改查:

//基本语法-增删改查
#创建数据库(必须用put创建)
PUT crm3


#创建表中数据,不写id会默认给id
POST crm3/user/1
{
   
  "id":1,
  "name":"kd",
  "age":21
}


#查询
GET crm3/user/1


#删除
DELETE crm/user/1


#修改(PUTPOST都可以修改,先删后改,版本依次递增 )
PUT crm3/user/1
{
   
  "id":1,
  "name":"kd",
  "age":22
}

//文档的简单查询
#查询,只返回文档内容,不要元数据
GET crm3/user/_source


#局部更新文档,没有会添加新的
POST crm3/user/1/_update
{
   
  "doc": {
   
    "id":1,
    "name":"ks",
    "age":22,
    "birthday":"1997-02-22"
  }
}


#脚本更新文档
POST crm3/user/1/_update
{
   
  "script": "ctx._source.age+=5"
}


#批量操作bulk  API
#create当文档不存在时创建之。
#index创建新文档或替换已有文档。
#update局部更新文档。
#delete删除一个文档。
POST _bulk
{
    "delete": {
    "_index": "itsource", "_type": "employee", "_id": "123" }}
{
    "create": {
    "_index": "itsource", "_type": "blog", "_id": "123" }}
{
    "title": "我发布的博客" }
{
    "index": {
    "_index": "itsource", "_type": "blog" }}
{
    "title": "我的第二博客" }


#批量获取,不同索引库
GET _mget
{
   
"docs" : [
{
   
"_index" : "crm",
"_type" : "user",
"_id" : 3
},
{
   
"_index" : "itsource",
"_type" : "employee",
"_id" : 1,
"_source": ["name","age"]
}
]
}


#同一个索引库的同一个类型下
GET crm/user/_mget
{
   
"ids":["1","2"]
}


#查所有
GET _search


#查某一个的所有
GET crm/_search


#查某张表的所有
GET crm/user/_search

#添加多条
POST crm/user
{
   
  "id":1,
  "name":"ks",
  "age":22
}


#分页搜索,每页显示5个结果
GET _search?size=5


#查询字符串搜索
GET crm/user/_search?q=age:21


#批量插入数据
POST crm2/user/13
{
   
  "id":1,
  "name":"kd",
  "age":33,
  "gj":"china"
}

DSL查询与过滤

什么是DSL查询:
由ES提供丰富且灵活的查询语言叫做DSL查询(Query DSL),它允许你构建更加复杂、强大的查询。

案例:

#查询名字(kd),国家(gj),年龄(20-30),页码(1),每页显示数据条数(4),排序方式(根据年龄大小降序)
GET crm2/user/_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值