elastic 常用查询操作
_
GET http://127.0.0.1:9200/_cat/health?v 健康状况
GET http://127.0.0.1:9200/_cat/indices?v 查看索引
PUT http://127.0.0.1:9200/test_index 创建test_index索引
DELETE http://127.0.0.1:9200/test_index 删除索引
PUT http://127.0.0.1:9200/index/type/id 新增文档
{
"name":"牙膏",
"price":18
}
POST http://127.0.0.1:9200/index/type 自动生成ID
{
"name":"牙膏",
"price":18
}
GET http://127.0.0.1:9200/index/type/id 查询文档
GET http://127.0.0.1:9200/index/type/id?_source=name, price 查询文档只展示name和价格
PUT http://127.0.0.1:9200/index/type/id 替换文档,带上所有的field
{
"name":"牙膏",
"price”:20
}
PUT http://127.0.0.1:9200/index/type/id?version=1 替换文档,只有版本号等于1才更新
{
"name":"牙膏",
"price”:20
}
PUT http://127.0.0.1:9200/index/type/id?version=1&version_type=extertnal 替换文档,只有版本号大于1才更新
{
"name":"牙膏",
"price”:20
}
POST http://127.0.0.1:9200/index/type/id/_update 修改文档
{
"doc":{
"goodsName": "神红瓶skii护肤肤色B"
}
}
DELETE http://127.0.0.1:9200/index/type/id?pretty 修改文档
GET http://127.0.0.1:9200/index/type/_search 查询所有
{
"took": 2, —耗费的时间毫秒
"timed_out": false, 是否超市
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 60, —总数
"max_score": 1, —相关度匹配分数
"hits": [
{
"_index": "ota_inn",
"_type": "inn",
"_id": "1011_ota",
"_score": 1,
"_source": {
"id": "1011_ota",
"region": "秦皇岛市",
"image": "https://img.jiesuyx.com/test/1539938469365.jpg",
"innName": "超假民宿3",
"tags": [
],
"createTime": 1539938472000,
"searchValue": 1,
"price": null,
"marketPrice": null
}
}
}
}
}
]
}
}
GET 127.0.0.1:9200/ota_inn/inn/_search?q=innName:民宿&sort=createTime:desc 查询名字带有民宿并按时间排序
query dsl
GET 127.0.0.1:9200/ota_inn/inn/_search 查询所有
{
"query":{
"match_all":{}
}
}
GET 127.0.0.1:9200/ota_inn/inn/_search 查询名字带有民宿并按时间排序
{
"query": {
"match": {
"innName": "民宿"
}
},
"sort": [
{
"createTime": "desc"
}
]
}
GET 127.0.0.1:9200/ota_inn/inn/_search 分页查找
{
"query": {
"match_all": {
}
},
"from": 1,
"size": 100
}
GET 127.0.0.1:9200/ota_inn/inn/_search 只展示region和innName
{
"query": {
"match_all": {
}
},
"_source": [
"region",
"innName"
]
}
query filter
GET 127.0.0.1:9200/ota_inn/inn/_search 查询名字带有你好民宿并价格大于0
{
"query":{
"bool":{
"must":{
"match":{
"innName":"你好民宿"
}
},
"filter":{
"range":{
"price":{"gt":0}
}
}
}
}
}
GET 127.0.0.1:9200/ota_inn/inn/_search 完全匹配
{
"query":{
"match_phrase":{
"innName":"超假民宿"
}
}
}
GET 127.0.0.1:9200/ota_inn/inn/_search 高亮显示
{
"query":{
"match_phrase":{
"innName":"超假民宿"
}
},"highlight":{
"fields":{
"innName":{}
}
}
}
Fielddata is disabled on text fields by default 解决办法
PUT 127.0.0.1:9200/ota_goods/_mapping/goods
{
"properties":{
"tags":{
"type":"text",
"fielddata":"true"
}
}
}
GET 127.0.0.1:9200/ota_goods/goods/_search 统计标签下的分类
{
"size":0, —不展现现在数据
"aggs":{
"group_by_tags":{
"terms":{
"field":"tags"
}
}
}
}
GET 127.0.0.1:9200/ota_goods/goods/_search 名字含有蜂蜜下统计标签下的分类
{
"query":{
"match":{
"goodName":"蜂蜜"
}
},
"aggs":{
"group_by_tag":{
"terms":{
"field":"tags"
}
}
},
"size":0
}
GET 127.0.0.1:9200/ota_goods/goods/_search 先分组再算平均价
{
"aggs":{
"group_by_tags":{
"terms":{
"field":"tags"
},
"aggs":{
"avg_price":{
"avg":{
"field":"price"
}
}
}
}
},
"size":0
}
GET 127.0.0.1:9200/ota_goods/goods/_search 先分组再算平均价然后按照平均价排序
{
"aggs":{
"group_by_tags":{
"terms":{
"field":"tags",
"order":{"avg_price":"desc"}
},
"aggs":{
"avg_price":{
"avg":{
"field":"price"
}
}
}
}
}
}
GET 127.0.0.1:9200/ota_goods/goods/_search 按照指定的价格区间进行分组,然后在每组内再按照tag进行分组,计算每组的平均价格
{ "size":0,
"aggs":{
"group_by_price":{
"range":{
"field":"price",
"ranges":[
{
"from":0,
"to":20
},{
"from":20,
"to":4000
}
]
},"aggs":{
"group_by_tags":{
"terms":{
"field":"tags"
},"aggs":{
"avg_price":{
"avg":{
"field":"price"
}
}
}
}
}
}
}
}
基于groovy脚本
内置脚本
POST 127.0.0.1:9200/ota_goods/goods/47/_update 价格加1
{
"script":"ctx._source.price+=1"
}
外部脚本
安装目录/config/scripts
存放脚本 test_add_tags.groovy
脚本内容:ctx._source.tags+=new_tags
POST 127.0.0.1:9200/ota_goods/goods/47/_update 标签增加ha ha
{
"script":{
"lang":"groovy", —语言
"file":"test_add_tags", — 脚本名
"params":{
"new_tag":"ha ha" —参数名:参数值
}
}
}
删除脚本
ctx.op = ctx.source.num == count ? ‘delete’:’none’
POST 127.0.0.1:9200/ota_goods/goods/47/_update num为1的删除否则不操作
{
"script":{
"lang":"groovy",
"file":"test_delete_price",
"params":{
"count":1
}
}
}
POST 127.0.0.1:9200/ota_goods/goods/47/_update 有则更新,没则插入
{
"script":"ctx._source.price+=1",
"upsert":{
"num":0,
"tags":[]
}
}
47.105.105.2:9200/_mget 批量查询
{
"docs":[
{
"_index":"ota_goods",
"_type":"goods",
"_id":"47"
},
{
"_index":"ota_goods",
"_type":"goods",
"_id":"37"
}
]
}
47.105.105.2:9200/ota_goods/_mget 批量查询 index相同
{
"docs":[
{
"_type":"goods",
"_id":"47"
},
{
"_type":"goods",
"_id":"36"
}
]
}
47.105.105.2:9200/ota_goods/goods/_mget 批量查询 index和type都一样
{
"ids":["47","36"]
}
POST 47.105.105.2:9200/_bulk 批量操作,每个操作一行,不能换行 中间步骤有错继续执行下一条
{"delete":{ "_index":"ota_goods","_type":"goods","_id":"47_update"}} 删除
{"create":{"_index":"ota_goods","_type":"goods","_id”:”2”}} 增加文档,设置价格
{"price":199}
{"index":{"_index":"ota_goods","_type":"goods","_id":2}} 替换或创建
{"price":299}
{"update":{"_index":"ota_goods","_type":"goods","_id":2}} 更新操作
{"doc":{"price":399}}



GET 47.105.105.2:9200/ota_goods/_mapping/goods 查看mapping

测试mapping
GET 47.105.105.2:9200/ota_goods/_analyze

Term 不分词 必须包含test hello

Term 不分词 必须包含search full_text nodal

仅filter

快速定位不合法





GET 47.105.105.2:9200/ota_goods/goods/_search?scroll=1m scroll 分页查询
{
"query":{
"match_all":{}
},
"sort":["_doc"],
"size":3
}
返回结果
{
"_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAdPFnJzUEFqTFdzU2hTYTZDN3hTbWd2ZmcAAAAAAAAHUxZyc1BBakxXc1NoU2E2Qzd4U21ndmZnAAAAAAAAB1EWcnNQQWpMV3NTaFNhNkM3eFNtZ3ZmZwAAAAAAAAdSFnJzUEFqTFdzU2hTYTZDN3hTbWd2ZmcAAAAAAAAHUBZyc1BBakxXc1NoU2E2Qzd4U21ndmZn",
"took": 3,
"timed_out": false,
"_shards": {
"total": 5。。。。
}
下一次查询 自动会记录上次查询的相关信息
47.105.105.2:9200/_search/scroll
{
"scroll":"1m",
"scroll_id":"DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAeuFnJzUEFqTFdzU2hTYTZDN3hTbWd2ZmcAAAAAAAAHsRZyc1BBakxXc1NoU2E2Qzd4U21ndmZnAAAAAAAAB68WcnNQQWpMV3NTaFNhNkM3eFNtZ3ZmZwAAAAAAAAeyFnJzUEFqTFdzU2hTYTZDN3hTbWd2ZmcAAAAAAAAHsBZyc1BBakxXc1NoU2E2Qzd4U21ndmZn"
}
创建索引
PUT 47.105.105.2:9200/my_index
{
"settings":{
"number_of_shards":1,
"number_of_replicas":0
},
"mappings":{
"my_type":{
"properties":{
"my_field":{
"type":"text"
}
}
}
}
}
修改索引
PUT 47.105.105.2:9200/my_index/_settings
{
"number_of_replicas":1
}






PUT 127.0.0.1:9200/my_index/_alias/goods_index 给my_index起别名






搜索发帖日期在一个月之后的










elastic 常用查询操作的更多相关文章
- Django的ORM常用查询操作总结(Django编程-3)
Django的ORM常用查询操作总结(Django编程-3) 示例:一个Student model: class Student(models.Model): name=models.CharFiel ...
- Sqlserver 数据库、表常用查询操作
查询所有表以及记录数: select a.name as 表名,max(b.rows) as 记录条数 from sysobjects a ,sysindexes b where a.id=b.id ...
- Mysql常用表操作 | 单表查询
160905 常用表操作 1. mysql -u root -p 回车 输入密码 2. 显示数据库列表 show databases 3. 进入某数据库 use database data ...
- Django 1.10 中文文档------3.2.2 查询操作making queries
3.2.2 查询操作 6.15章节包含所有模型相关的API解释. 后面的内容基于如下的一个博客应用模型: from django.db import models class Blog(models. ...
- .NET LINQ基本查询操作
获取数据源 在 LINQ 查询中,第一步是指定数据源.像在大多数编程语言中一样,在 C# 中,必须先声明变量,才能使用它.在 LINQ 查询中,最先使用 from 子句的目的是引入数据源 ( ...
- Solr常用查询语法笔记
1.常用查询 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符 ...
- 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念
本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...
- 查询操作 -- Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- Jedis对Redis的常用命令操作
本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...
随机推荐
- HDU 3365 New Ground (计算几何)
题意:给定点A[0~n-1]和B[0],B[1],A[0].A[1]映射到B[0].B[1],求出其余点的映射B[2]~B[n-1]. 析:运用复数类,关键是用模板复数类,一直编译不过,我明明能编译过 ...
- java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
异常完整信息 严重: Servlet.service() for servlet RegServlet threw exception java.lang.NoSuchMethodError: org ...
- CSS3中的新特性
一.CSS3新属性 CSS3还不属于W3C标准,所以不同浏览器的支持程度也不相同,对于不同浏览器,写法也不同,不同内核的浏览器要加不同的前缀,如下: transform:rotate(9deg); - ...
- Fragment基本介绍
1.生命周期 onCreateView() :创建视图 onActivityCreate():activity创建完成的时候调用 onDestoryView():销毁视图 onDetach():与ac ...
- [bash] 显示配色
#/bin/bash for STYLE in 0 1 2 3 4 5 6 7; do for FG in 30 31 32 33 34 35 36 37; do for BG in 40 41 42 ...
- .NET平台的资源文件管理
可以管理文本.图片等不同类型的资源 管理方式(增删改) 可以直接修改XXX.resx源文件(XML格式,文本直接管理内容,图片需要指定路径,资源名和图片名可以不同) 也可以在VS的可视化界面上进行操作 ...
- 如何从Spring官网下载Spring的jar包
Spring官网:https://spring.io/ 进入官网点击PRODECTS 然后点击Spring Framework 进入下面的页面点击小猫图标: 之后再下面的页面持续向下滚动,找到下图我标 ...
- 630. Course Schedule III
There are n different online courses numbered from 1 to n. Each course has some duration(course leng ...
- 【bzoj4720】[Noip2016]换教室 期望dp+最短路
Description 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程.在可以选择的课程中,有2n节 课程安排在n个时间段上.在第i(1≤i≤n)个时间段上,两节内容相同的 ...
- ceph_osd故障检测
1. 当前monitor可以通过3种途径检测到osd离线 1) Osd自主上报 2) Osd通过投票的方式(满足一下条件之一,mon会将osd标记为down) a) ...