_

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 常用查询操作的更多相关文章

  1. Django的ORM常用查询操作总结(Django编程-3)

    Django的ORM常用查询操作总结(Django编程-3) 示例:一个Student model: class Student(models.Model): name=models.CharFiel ...

  2. Sqlserver 数据库、表常用查询操作

    查询所有表以及记录数: select a.name as 表名,max(b.rows) as 记录条数 from sysobjects a ,sysindexes b where a.id=b.id ...

  3. Mysql常用表操作 | 单表查询

    160905 常用表操作 1. mysql -u root -p 回车 输入密码   2. 显示数据库列表 show databases     3. 进入某数据库 use database data ...

  4. Django 1.10 中文文档------3.2.2 查询操作making queries

    3.2.2 查询操作 6.15章节包含所有模型相关的API解释. 后面的内容基于如下的一个博客应用模型: from django.db import models class Blog(models. ...

  5. .NET LINQ基本查询操作

    获取数据源      在 LINQ 查询中,第一步是指定数据源.像在大多数编程语言中一样,在 C# 中,必须先声明变量,才能使用它.在 LINQ 查询中,最先使用 from 子句的目的是引入数据源 ( ...

  6. Solr常用查询语法笔记

    1.常用查询 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符 ...

  7. 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

    本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...

  8. 查询操作 -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  9. Jedis对Redis的常用命令操作

    本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...

随机推荐

  1. 20169219 TCP_IP网络协议攻击实验报告

    (1) ARP缓存欺骗 RP 缓存是 ARP 协议的重要组成部分.ARP 协议运行的目标就是建立 MAC 地址和 IP 地址的映射,然后把这一映射关系保存在 ARP 缓存中,使得不必重复运行 ARP ...

  2. angular 输入属性

    import { Component, OnInit, Input } from '@angular/core'; @Component({ selector: 'app-order', templa ...

  3. 21天学通C++学习笔记(三):变量和常量

    1. 简述 内存是一种临时存储器,也被称为随机存取存储器(RAM),所有的计算机.智能手机及其他可编程设备都包含微处理器和一定数量的内存,用地址来定位不同的存储区域,像编号一样. 硬盘可以永久的存储数 ...

  4. NSURLConnection 网络请求

    前言 DEPRECATED: The NSURLConnection class should no longer be used. NSURLSession is the replacement f ...

  5. react中使用echarts(人物关系图)

    项目中有时会用到echarts,可能不同的框架中语法稍有变通,前几天在react项目中遇到,写此篇以作记录. 不同的charts语法跟支持不同,本篇"echarts": " ...

  6. 【转】WinForm时间选择控件(DateTimePicker)如何选择(显示)时分秒

    源地址:https://www.cnblogs.com/EvanFan/p/7826160.html 注意:年月日时分秒的大小写格式,如果错了数据就错了,如果能显示当前时间说明设置正确

  7. 基于 Django 的手机管理系统

    前段时间和小组一起完成数据库作业,觉得收获挺多的,分享到博客来. 一.概述 打算通过设计数据库,然后结合 Python 框架Django,实现在网页上对数据库的增删改查(本例以手机的管理为例,不考虑订 ...

  8. springboot集成巨杉数据库

    springboot倾向于约定优于配置,所以大大简化了搭建项目的流程,包括各种数据源的配置,接下来就和大家分享下最近用到的巨杉数据源连接池的配置 1.现在配置文件中定义巨杉连接池的各种连接信息,至于每 ...

  9. iis 重启命令

    打开IIS配置窗口的CMD命令:开始---运行---CMD----输入inetmgr  直接使用CMD我们可以操作很多事情,比如启动IIS,重启IIS,停止IIS 重启IIS服务器,开始->运行 ...

  10. 阻止datagrid填充已经获取到的远程数据

    时光流逝,弹指挥间,不经意的一年又如路上一个动人的靓影悄然消失在视线里.我们往往都是先问自己,我们收获了什么,然后才想到我们付出了什么,很少有人先问自己这一年付出了什么,然后再去看所得.话不多说了,祝 ...