tnblog
首页
视频
资源
登录

Elasticsearch Request Body与Query DSL简介

6210人阅读 2020/9/20 16:54 总访问:3658208 评论:0 收藏:0 手机
分类: 云产品

elasticsearch

Elasticsearch Request Body与Query DSL简介

  • 将查询语句通过 HTTP Resquest Body 发送给 Elasticsearch


  • Query DSL
  1. POST /movies,404_idx/_search?ignore_unavailable=true
  2. {
  3. "profile": true,
  4. "query": {
  5. "match_all": {}
  6. }
  7. }

分页

  1. POST /kibana_sample_data_ecommerce/_search
  2. {
  3. "from": 10,
  4. "size": 20,
  5. "query": {
  6. "match_all": {}
  7. }
  8. }

From从下标10开始,获取20个结果,获取考后的翻页成本较高。

排序

order_date进行倒序

  1. GET /kibana_sample_data_ecommerce/_search
  2. {
  3. "sort":[{"order_date":"desc"}],
  4. "from": 10,
  5. "size": 20,
  6. "query": {
  7. "match_all": {}
  8. }
  9. }
  1. 最好在“数字型”与“日期型”字段上排序。
  2. 因为对于多值类型或分析过的字段排序,系统会选一个值,无法得知该值。

搜索结果过滤

这里只需要数据中的order_date,name,category.keyword的值。

  1. GET /kibana_sample_data_ecommerce/_search
  2. {
  3. "_source":["order_date","name","category.keyword"],
  4. "from": 10,
  5. "size": 20,
  6. "query": {
  7. "match_all": {}
  8. }
  9. }
  • 如果 _source 没有存储,那就只返回匹配的文档的元数据
  • _source 支持使用通配符 _source[“name“,”desc“]

脚本字段

查询出自定义拼接出的值

  1. GET /kibana_sample_data_ecommerce/_search
  2. {
  3. "script_fields": {
  4. "new_field": {
  5. "script": {
  6. "lang": "painless",
  7. "source":"doc['order_date'].value+'hello'"
  8. }
  9. }
  10. },
  11. "from": 10,
  12. "size": 20,
  13. "query": {
  14. "match_all": {}
  15. }
  16. }

一般可以用于订单中有不同的汇率,需要结合汇率对订单价格进行排序

使用查询表达式 - Match(Or 与 And)

Or的用法,在下列举例中查询时是Last or Christmas 的关系

  1. GET /comments/_doc/_search
  2. {
  3. "query":{
  4. "match":{
  5. "comment":"Last Christmas"
  6. }
  7. }
  8. }

And的用法,在下列举例中查询时是Last And Christmas 的关系,且不能更改顺序。

  1. GET /comments/_doc/_search
  2. {
  3. "query":{
  4. "match":{
  5. "comment": {
  6. "query":"Last Christmas",
  7. "operator":"AND"
  8. }
  9. }
  10. }
  11. }

短语搜索 - Match Phrase

还有一种,在comment下添加参数如"slop": 1表示中间可以有一个其他单词或字存在

  1. GET /comments/_doc/_search
  2. {
  3. "query":{
  4. "match_phrase":{
  5. "comment": {
  6. "query":"Last Christmas",
  7. "slop": 1
  8. }
  9. }
  10. }
  11. }

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

分布式服务架构微服务架构概念的区别联系

分布式:分散压力。微服务:分散能力。当下理解分布式:不同模块部署在不同服务器上作用:分布式解决网站高并发带来问题集...

jsController中分割字符串的方法

js: varstr=OpenRule; varstrs=newArray(); strs=str.split(","); for(vari=0;i<strs.length;i++){ $(&q...

Service-stack.redis配置连接池读写分离(处理并发相关等)

配置连接池与读写分类 //写节点(主节点) List<string>writes=newList<string>(); writes.Add("123456a...

CSS相对定位绝对定位

一般相对定位和绝对定位可以配合起来使用 例如实现如下的效果 只需要在外层div设置为相对定位,在内部设置为绝对定位就...

C委托事件

1.什么是委托?  委托在C#里的意义和在现实里差不多,从字面意思理解即可。举个例子:领导委托小张去传递个文件,这就是...

asp.net core2.0 依赖注入 AddTransientAddScoped的区别

asp.net core主要提供了三种依赖注入的方式其中AddTransient与AddSingleton比较好区别AddTransient瞬时模式:每次都获取一...

Vue.js+Layer实现表格数据绑定更新

一:使用Vue.js绑定好数据与更新事件 使用v-on绑定好事件,在事件里边直接把该行数据传递进去,在更新方法里边就可以直接...

下划线、换行、回车、空格ASCII码值对照表

下划线,ASCII码95换行 , ASCII码10回车 , ASCII码13空格 , ASCII码32ASCII码表:Bin(二进制)Oct(八进制)Dec(十进制)Hex(...

数据读取器指定的"xx"不兼容。某个类型为"xx"的成员在同名的数据读取器中没有对应的列

报错的地方var result= _db.Database.SqlQuery<SMachine>(sql).FirstOrDefault();经过分析,是因为SqlQuery方法查询...

git 下载提交命令

一.先使用git clone下载一个项目 git clone '项目地址' 这里要注意: clone的项目里边会自带git的一些信息,...

微信开发四 接受用户普通消息回复消息

微信接收用户普通消息的文章可以在官方中直接看微信普通消息分类:接受用户文本消息 与 回复文本信息 注意在接收用户普通...

记忆糖的关系【阅读听力】

Link Between Memory and SugarSugar On The BrainIt’s long been understood that there is a connection between memory...

婚姻心脏健康的关系【阅读听力】

Marriage and Heart HealthPlenty of studies have found that being married is generally good for health. One study ze...

iframe自适应高度配合net core使用

去掉iframe边框frameborder="0"去掉滚动条scrolling="no"iframe 自适应高度如果内容是固定的,那么就...

net core中使用url编码解码操作

net core中暂时还没有以前asp.net与mvc中的server对象。获取url的编码与解码操作不能使用以前的server对象来获取。使用的是...
这一世以无限游戏为使命!
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术