一.Elasticsearch介绍
Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎。 它能从项目一开始就赋予你的数据以搜索、分析和探索的能力,这是通常没有预料到的。 它存在还因为原始数据如果只是躺在磁盘里面根本就毫无用处。
无论你是需要全文搜索,还是结构化数据的实时统计,或者两者结合,这本指南都能帮助你了解其中最基本的概念, 从最基本的操作开始学习 Elasticsearch。之后,我们还会逐渐开始探索更加高级的搜索技术,不断提升搜索体验来满足你的需求。
二. 新建索引
1.可以通过Elasticsearch head 插件(谷歌商城或者百度 下载安装浏览器上)创建索引
2.查询一下结构
现在mapping里面啥也没有 ,我们先定义数据结构类型
{
"data": {
"mappings": {
"man": {
"name": {
"type": "string"
},
"address": {
"type": "text"
},
"timestamp": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"message": {
"type": "string"
}
}
}
}
}
http://192.168.126.128:9200/user3/man/
我使用的es 自动生成文档id 如果想自定义id,resu
指定文档id插入,自动产生文档id插入,使用下面resultful风格的形式 发起post 请求
api 说明 http://192.168.126.128:9200/user3/man/{自定义id}
user3是索引,man是类型,{自定义id}是文档id
3.查询以下刚才创建文档 可以通过生成的id 查询**
**
**4.架子已经搭好了,填充点数据,新增数据
然后通过es 自动生成id 查询一下新增的数据
2.插入文档
url地址 | method | 方案 |
---|---|---|
localhost:9200/索引名称/类型名称/文档id | put | 创建文档(指定文档id) |
localhost:9200/索引名称/类型名称 | post | 创建文档(随机文档id) |
4.删除文档
url地址 method 用途
localhost:9200/索引名称/类型名称/文档id delete 删除文档
5.查询文档
这里先介绍简单的查询,复杂的地方,会在后面说到。
url地址 method 用途
localhost:9200/索引名称/类型名称/文档id get 查询文档通过文档id
localhost:9200/索引名称/类型名称/_search post 查询所有数据
简单查询数据结构体为
{
"query":{
"match_all":{},(通过该属性查询所有数据)
"match":{
"需要查询的字段名称":"查询的值"
}
},
"from": "从第几个开始"(可选),
"size": "要查询多少个"(可选) ,
"sort": [
{"字段名称":{"order": "desc 或者是 asc"}}(自定义排序,默认通过score元字段进行排序)
]
}
聚合查询结构体为:
{
"query":{
"match_all":{},(通过该属性查询所有数据)
"match":{
"需要查询的字段名称":"查询的值"
}
},
"from": "从第几个开始"(可选),
"size": "要查询多少个"(可选) ,
"sort": [
{"字段名称":{"order": "desc 或者是 asc"}}(自定义排序,默认通过score元字段进行排序)
]
}
聚合查询结构体为:
(可以定义多个聚合条件,放在不同的聚合名称中)
{
"aggs":{
"聚合名称1(自定义)": {
"terms":{
"field": "通过该字段进行聚合"
},
"status":{
"field": "通过该字段进行聚合"(status key可以计算这个聚合的相关参数)
}
},
"聚合名称2(自定义)": {
"terms":{
"field": "通过该字段进行聚合"
}
}
}
}