Elastisearch在kibana下常用命令总结
1、获取所有数据
GET /_search
2、创建一个Document
PUT /ecommerce/product/1
{
"name" : "gaolujie yagao",
"desc" : "gaoxiao meibai",
"price" : 30,
"producer" : "gaolujie producer",
"tags": [ "meibai", "fangzhu" ]
} PUT /ecommerce/product/2
{
"name" : "jiajieshi yagao",
"desc" : "youxiao fangzhu",
"price" : 25,
"producer" : "jiajieshi producer",
"tags": [ "fangzhu" ]
}
PUT /ecommerce/product/3
{
"name" : "zhonghua yagao",
"desc" : "caoben zhiwu",
"price" : 40,
"producer" : "zhonghua producer",
"tags": [ "qingxin" ]
}
3、检索文档查询
GET /ecommerce/product/1
4、替换文档(全量替换)
PUT /ecommerce/product/1
{
"name" : "jiaqiangban gaolujie yagao",
"desc" : "gaoxiao meibai",
"price" : 30,
"producer" : "gaolujie producer",
"tags": [ "meibai", "fangzhu" ]
}
5、更新文档(_update)
POST /ecommerce/product/1/_update
{
"doc":
{
"price":70
}
}
6、删除文档
DELETE /ecommerce/product/1
注意:在删除一个Document之后,它不是立即物理删除的,因为它的版本等信息还保留着
二、请求分类
1、query string search
类似这种 搜索全部商品:GET /ecommerce/product/_search(参数直接拼接在请求url上,不带json参数的)
query string search的由来,因为search参数都是以http请求的query string来附带的
搜索商品名称中包含yagao的商品,而且按照售价降序排序:GET /ecommerce/product/_search?q=name:yagao&sort=price:desc
适用于临时的在命令行使用一些工具,比如curl,快速的发出请求,来检索想要的信息;但是如果查询请求很复杂,是很难去构建的,所以在生产环境中,几乎很少使用query string search
2、query DSL DSL:Domain Specified Language,特定领域的语言
http request body:请求体,可以用json的格式来构建查询语法,比较方便,可以构建各种复杂的语法,比query string search肯定强大多了。
实例一:查询所有的商品
GET ecommerce/product/_search
{
"query":
{
"match_all": {}
}
}
实例二:查询名称包含yaogao的产品,同时按照价格进行降序排序
GET ecommerce/product/_search
{
"query": {
"match": {
"name": "yaogao"
}
},
"sort": [
{
"price":"desc"
}
]
}
3、分页查询
总共3条商品,假设每页就显示1条商品,现在显示第1页,所以就查出来第1个商品
GET ecommerce/product/_search
{
"query": {
"match_all": {}
},
"from": 0,
"size": 1
}
4、查询指定项
GET ecommerce/product/_search
{
"query": {
"match_all": {}
},
"_source": ["name","price"]
}
5、过滤查询
搜索商品名称包含yagao,而且售价大于25元的商品
GET ecommerce/product/_search
{
"query": {
"bool": {
"must": {
"match" : {
"name" : "yagao" }
},
"filter": {
"range": {
"price": {
"gte": 25
}
}
}
}
}
}
6、full-text search(全文检索)
全文检索会将输入的搜索串拆解开来,去倒排索引里面去一一匹配,只要能匹配上任意一个拆解后的单词,就可以作为结果返回
GET ecommerce/product/_search
{
"query": {
"match": {
"producer": "yagao producer"
}
}
}
7、phrase search(短语搜索)
phrase search,要求输入的搜索串,必须在指定的字段文本中,完全包含一模一样的,才可以算匹配,才能作为结果返回
GET ecommerce/product/_search
{
"query": {
"match_phrase": {
"producer": "jiajieshi producer"
}
}
}
8、多条件查询
名字中有"yagao",描述上可以有fangzhu也可以没有,价格不能是25元 must表示一定要满足; should表示可以满足也可以不满足; must_not表示不能满足该条件; "minimum_should_match": 1,表示最小匹配度,可以设置为百分百,详情看源文档Elasticsearch Reference [6.4] » Query DSL » Minimum Should Match,
设置了这个值的时候就必须满足should里面的设置了,另外注意这边should里面同一字段设置的多个值(意思是当这个值等于X或者等于Y的时候都成立,务必注意格式)
GET /ecommerce/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "yagao"
}
}
],
"should": [
{
"match": {
"desc": "fangzhu"
}
},
{
"match": {
"desc": "caoben"
}
}
],
"must_not": [
{
"match": {
"price": 25
}
}
],
"minimum_should_match": 1
}
}
}
multi-index和multi-type搜索模式
告诉你如何一次性搜索多个index和多个type下的数据
/_search:所有索引,所有type下的所有数据都搜索出来
/index1/_search:指定一个index,搜索其下所有type的数据
/index1,index2/_search:同时搜索两个index下的数据
/test1_*,test2_*/_search:按照通配符去匹配多个索引
/index1/type1/_search:搜索一个index下指定的type的数据
/index1/type1,type2/_search:可以搜索一个index下多个type的数据
/index1,index2/type1,type2/_search:搜索多个index下的多个type的数据
/_all/type1,type2/_search:_all,可以代表搜索所有index下的指定type的数据
Elastisearch在kibana下常用命令总结的更多相关文章
- Linux 下常用命令
linux 下常用命令: 1.删除文件命令为 rm 2.创建目录的命令是:mkdir 3.删除目录的命令是rmdir(空目录) 4.切换到root帐号:su 5.查看所有进程:ps -aux 6.杀死 ...
- 如何找到Linux下常用命令的源码
Linux系统,常用命令的来源很多,有些命令是shell自带的,比如cd,通过执行help命令,可以查看当前系统所有的内置命令. 用type <cmd_name>来查看一个命令是否为内置命 ...
- mac下常用命令
常用命令 ls 查看当前目录下的文件 cd 进入某目录 . cd - 跳转回前一目录 . cd ~ 进入当前用户个人目录 pwd 输出当前所在路径 mkdir 新建文件夹. touch 新建文件 fi ...
- linux下常用命令备忘
转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...
- Linux基础:Linux下常用命令
常用命令 shutdown 用来系统关机命令.shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作. shutdown (选项)(参数) -c: 当执行"s ...
- ubuntu下常用命令
目录 一.查找命令 二.打开相应文件 三.查看系统资源占用 四.Ubantu解压文件 五.虚拟机ubuntu server 14.0 根目录扩容 七.ubuntu 关机,重启,注销命令 1 关机命令 ...
- Ubuntu 下常用命令
整理一下比较常用的操作命令: 附上一个Linux 命令大全: http://man.linuxde.net/ 打开终端:Ctrl+Alt+T ls: ls : 查看当前路径下的文件夹以及文件 ls + ...
- linux下常用命令:
常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir ...
- ubuntu下常用命令(一)
1.查看目录 Ctrl+L 2.在终端下:复制命令:Ctrl + Shift + C 组合键.粘贴命令:Ctrl + Shift + V 组合键. 3.解压 tar xzf flie.tar.gz 4 ...
随机推荐
- Hbase 2.2.2 简单API操作
前言 小案例中有创建表.创建命名空间.插入数据.获取数据. 环境准备 maven依赖可根据自己的版本进行调整 <!-- hbase依赖--> <dependency> < ...
- python安装Scrapy框架
看到自己写的惨不忍睹的爬虫,觉得还是学一下Scrapy框架,停止一直造轮子的行为 我这里是windows10平台,python2和python3共存,这里就写python2.7安装配置Scrapy框架 ...
- python最大几个数和最小几个数(堆排序)
最大几个数和最小几个数 import heapq a = [7, 5, 3, 4, 8, 6, 0] cc = heapq.nsmallest(2, a) #最小的两个数 dd = heapq.nla ...
- Pandownload网页版复活
不注册则每人每天5次机会,注册或邀请别人注册都可以获得30次额外的下载机会. 1.将百度云链接复制粘贴到解析,点击打开,等待解析. 2.获取链接成功后会跳转到下载界面,里面有详细的使用教程,自行查看 ...
- IOS UITableView 加载未知宽高图片的解决方案
在开发中遇到了UITableView列表 UITableViewCell装载图片但不知Image的宽高 问题. 在解决该问题的时候,首先想到的是异步加载图片 采用第三方框架SDWebImage 实现对 ...
- Python -- 修改、添加和删除元素
大多数列表将是动态的,这意味着列表创建后,将随着程序的运行增删元素. 修改列表元素 修改列表元素的语法与访问列表元素的语法类似.要修改列表元素,可指定表名和要修改的元素指引,再指定该元素的新值. #代 ...
- C# 递归算法获取下级子级 2种方法
第一种 直接实体添加Children 实体类 public class DepartmentItem { /// <summary> /// 部门Id /// </summary&g ...
- [.NET] - 基础知识 - 如何debug一个.NET application
1.可以使用Debug/Trace类来将runtime信息输出到控制台窗口: https://msdn.microsoft.com/en-us/library/bs4c1wda.aspx https: ...
- Raft算法系列教程3:日志复制
1.日志复制的过程 Leader选出后,就开始接收客户端的请求.Leader把请求作为日志条目(Log entries)加入到它的日志中,然后并行的向其他服务器发起 AppendEntries RPC ...
- mysql中order by优化的那些事儿
为了测试方便和直观,我们需要先创建一张测试表并插入一些数据: CREATE TABLE `shop` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '记 ...