在ES中,执行match搜索的时候,ES底层通常都会对搜索条件进行底层转换,来实现最终的搜索结果。如:

GET /student/java/_search

{

"query": {

"match": {

"remark": "java developer"

}

}

}

转换后是:

GET student/java/_search

{

"query": {

"bool": {

"should": [

{

"term": {

"remark": "java"

}

},

{

"term": {

"remark": {

"value": "developer"

}

}

}

]

}

}

}

GET /student/java/_search

{

"query": {

"match": {

"remark": {

"query": "java developer",

"operator": "and"

}

}

}

}

转换后是:

GET student/java/_search

{

"query": {

"bool": {

"must": [

{

"term": {

"remark": "java"

}

},

{

"term": {

"remark": {

"value": "developer"

}

}

}

]

}

}

}

GET student/java/_search

{

"query": {

"match": {

"remark": {

"query": "java architect assistant",

"minimum_should_match": "68%"

}

}

}

}

转换后为:

GET student/java/_search

{

"query": {

"bool": {

"should": [

{

"term": {

"remark": "java"

}

},

{

"term": {

"remark": "architect"

}

},

{

"term": {

"remark": "assistant"

}

}

],

"minimum_should_match": 2

}

}

}

建议,如果不怕麻烦,尽量使用转换后的语法执行搜索,效率更高。

如果开发周期短,工作量大,使用简化的写法。

ELK:match 的底层转换的更多相关文章

  1. tcl之string操作-match/map/大小写转换

  2. ELK学习笔记之基于kakfa (confluent)搭建ELK

    0x00 概述 测试搭建一个使用kafka作为消息队列的ELK环境,数据采集转换实现结构如下: F5 HSL–>logstash(流处理)–> kafka –>elasticsear ...

  3. C#6.0语言规范(六) 转换

    转换能够被视为是一个特定类型的表达式.转换可能会导致给定类型的表达式被视为具有不同的类型,或者它可能导致没有类型的表达式获取类型.转换可以是隐式或显式的,这决定了是否需要显式转换.例如,从类型int到 ...

  4. 白日梦的Elasticsearch实战笔记,ES账号免费借用、32个查询案例、15个聚合案例、7个查询优化技巧。

    目录 一.导读 二.福利:账号借用 三._search api 搜索api 3.1.什么是query string search? 3.2.什么是query dsl? 3.3.干货!32个查询案例! ...

  5. 白日梦的Elasticsearch实战笔记,32个查询案例、15个聚合案例、7个查询优化技巧。

    目录 一.导读 三._search api 搜索api 3.1.什么是query string search? 3.2.什么是query dsl? 3.3.干货!32个查询案例! 四.聚合分析 4.1 ...

  6. 基于Java Mina 通信框架的JT/T809转发服务器设计

    Apache MINA 是 Apache 组织的一个开源项目,为开发高性能和高可用性的网络应用程序提供了非常便利的框架. 也是Java开发者的一个福利(.NET目前还没有类似封装的这么好的基础sock ...

  7. 机器学习&数据挖掘笔记_20(PGM练习四:图模型的精确推理)

    前言: 这次实验完成的是图模型的精确推理.exact inference分为2种,求边缘概率和求MAP,分别对应sum-product和max-sum算法.这次实验涉及到的知识点很多,不仅需要熟悉图模 ...

  8. 如何将oc代码转换成运行时代码

    // 运行时 其实就是oc的底层  平时写的代码 最终都是转成底层的运行时代码以下面程序为例子: 如果我们想要看我们的main.m文件底层转换成了怎样的运行时代码 ,我们可以这样做. 1.打开终端  ...

  9. js小数计算小数点后显示多位小数(转)

    首先写一个demo 重现问题,我使用的是一个js在线测试环境[打开] 改写displaynum()函数 function displaynum(){var num = 22.77;alert(num ...

随机推荐

  1. Spring Cloud专题之二:OpenFeign

    欢迎查看上一篇博客:SpringCloud专题之一:Eureka . OpenFeign是一种声明式的webservice客户端调用框架.你只需要声明接口和一些简单的注解,就能像使用普通的Bean一样 ...

  2. apache jmeter下载与安装

    JMeter是Apache软件基金会的产品,用于对静态的和动态的资源性能进行测试.jmeter可以运行在多个平台上,如Windows和Linux,本文讲的是在Windows安装jmeter. 工具/原 ...

  3. jQuery04

    jQuery内容总结: 1.既然是一个js库,使用之前就要引入js库,是一个.js文件,版本是1.8.3: 2.写一个jQuery页面加载函数(注意与js页面加载函数的区别): $(function( ...

  4. 【题解】localmaxima 数论

    # T749 localmaxima 权限限制没有超链接 题目描述 Description 给出一个排列,若其中一个数比它前面的数都大,则称为localmaxima数,求一个随机排列中localmax ...

  5. ld-linux-x86-64消耗大量的CPU

    1.现象: 服务器CPU使用率很高 top查看cpu使用进程: 2.进程用户是oracle,根据spid查看是否是数据库进程,经过查询发现:不是数据库内部的进程 select a.sql_id,a.s ...

  6. 海康威视ISC平台的VUE二次开发接入实现

    第一步 取得ISC平台的appkey以及secret,以及安装ISC平台的主机IP,这一步至关重要!!! 第二步 由于目前我所在的公司项目前端的代码均由vue所实现,所以利用vue-cli创建一个最简 ...

  7. 番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

    使用NSSM工具安装bat文件为Windows服务 nssm是一个可以把bat批处理文件部署为Windows服务的小工具.例如很多.net项目可能还是在Windows服务器上面跑的,但是很多组件只提供 ...

  8. 一篇技术博文引发的stylelint项目实践

    背景 看到项目中团队成员写CSS样式风格迥异,CSS样式的书写顺序没有鲜明的规范.想到以前看过CSS样式书写顺序的文章,决定找出来,给团队成员科普一下.查阅了好几篇文章,觉得这篇文章给出的理由最硬核, ...

  9. 23、ORA-00439:DEFERRED_SEGMENT_CREATION 问题解决

    23.1.说明: 1. 众所周知,在清空表内所有数据时,truncate比delete要快很多,原因是,delete语句每次删除一行,都在事务日志中为所删除的每行记录一项. truncate通过释放存 ...

  10. Murmur3 Hash 128位java和C#方法

    java调用com.google.guava 引入依赖 <dependency> <groupId>com.google.guava</groupId> <a ...