Query Content

在查询过程中,除了判断文档是否满足查询条件外,ES还会计算一个_score来标识匹配的程度,旨在判断目标文档和查询条件的匹配有多好

#

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "match": {

      "author": "金庸"

    }

  }

}

#

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "match": {

      "title": "入门"

    }

  }

}

#

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "match_phrase": {

        "title": "入门"

       }

  }

}

#

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "multi_match": {

      "query": "金庸",

      "fields": ["author", "title"]

      }

  }

}

#

POST 192.168.100.102:9200/book/_search

{

   "query": {

    "query_string": {

      "query": "(java AND 门) OR 入"

      }

  }

}

#

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "query_string": {

      "query": "java OR 门",

      "fields": ["title", "author"]

     }

   }

}

#

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "term": {

      "word_count": 100000

      }

  }

}

#gte:greater than  equal

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "range": {

      "word_count": {

        "gt": 1000,

        "lte": 1000000

      }

    }

  }

}

#gte:greater than  equal

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "range": {

      "publish_date": {

        "gt": "2007-12-01",

        "lte": "now"

       }

     }

  }

}

Filter Content

在查询过程中,只判断该文档是否满足条件,只有yes后者no

#

POST 192.168.100.102:9200/book/_search

{

  "query": {

    "bool": {

      "filter": {

        "term": {

          "word_count": 100000

         }

      }

    }

  }

}

复合查询

常用查询

固定分数查询,布尔查询

#查询条件title=”java”

POST 192.168.100.102:9200/_search

{

  "query": {

    "match": {

      "title": "java"

    }

  }

}

#

POST 192.168.100.102:9200/_search

{

  "query": {

    "constant_score": {

      "filter": {

        "match": {

          "title": "java"

        }

      }

    }

  }

}

#

POST 192.168.100.102:9200/_search

{

  "query": {

    "constant_score": {

      "filter": {

        "match": {

          "title": "java"

        }

      }

    }

  },

  "boost": 2

}

#

POST 192.168.100.102:9200/_search

{

  "query": {

    "bool": {

      "should": [

        {

          "match": {"author": "金庸"}

        },

        {

          "match": {"title": "java"}

        }

      ]

    }

  }

}

#

POST 192.168.100.102:9200/_search

{

  "query": {

    "bool": {

      "must": [

        {

          "match": {"author": "金庸"}

        },

        {

          "match": {"title": "java"}

        }

      ],

      "filter": [

          {

            "term": {

              "word_count": 100000

            }

          }

      ]

    }

  }

}

#

POST 192.168.100.102:9200/_search

{

  "query": {

    "bool": {

      "must_not": {

          "term": {

            "author": "hoo"

          }

       }

    }

  }

}

ES高级查询的更多相关文章

  1. 测试使用索引库crud和高级查询分页

    1.搭建ES的服务 导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  2. 031 Spring Data Elasticsearch学习笔记---重点掌握第5节高级查询和第6节聚合部分

    Elasticsearch提供的Java客户端有一些不太方便的地方: 很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的 需要自己把对象序列化为json存储 查询到结果也需要自己 ...

  3. elasticsearch 高级查询

    高级查询 子条件查询 (特定字段查询所指特定值) 复合条件查询 (以一定的逻辑组合子条件查询) 一.子条件查询 子条件查询分为 query context.filter context 1.query ...

  4. java整合Elasticsearch,实现crud以及高级查询的分页,范围,排序功能,泰文分词器的使用,分组,最大,最小,平均值,以及自动补全功能

    //为index创建mapping,index相当于mysql的数据库,数据库里的表也要给各个字段创建类型,所以index也要给字段事先设置好类型: 使用postMan或者其他工具创建:(此处我使用p ...

  5. MongoDB高级查询详细

    前言 前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦.如果没有安装MongoDB去看我的上一篇博客  MongoDB下载安装与简单增删改查 前 ...

  6. T-SQL高级查询语句

    高级查询 1.连接查询,对结果集列的扩展select * from info select * from info,nation #形成笛卡尔积select * from info,nation wh ...

  7. SQL Server高级查询

    简介 关于数据库,我们经常会听说"增查删改"之类的词语,听起来很简单,但是如果想要准确的获取到需要的数据的话,还是要花点功夫的.下面由我来和大家谈谈高级查询的用法以及和普通查询的区 ...

  8. mongodb高级查询

    前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦.如果没有安装MongoDB去看我的上一篇博客  MongoDB下载安装与简单增删改查 前奏:启 ...

  9. MySQL高级查询语句

    高级查询: 一:多表连接 1.select Info.Code,Info.Name,Nation.Name from Info,Nation where Info.Nation = Nation.Co ...

随机推荐

  1. java实验(三)——课堂小测

    这次的课堂小测是用以前生成的那些四则运算的代码,然后将这些题目写到一个文件中,再通过这个文件读取题目的信息,每读入一个答案的时候,遇到星号的时候,等待用户输入然后判断输入的答案是否正确,然后输出小一道 ...

  2. pycharm查看代码注释的方法,代码编写日志及作者信息等

    竟然在边栏有个右键的快捷键.annotate可以查看代码书写日期及作者 鼠标悬停可以看到更加详细的时间等信息 原理应该是利用git blame

  3. MapReduce输入输出类型、格式及实例

    输入格式 1.输入分片与记录 2.文件输入 3.文本输入 4.二进制输入 5.多文件输入 6.数据库格式输入 1.输入分片与记录 1.JobClient通过指定的输入文件的格式来生成数据分片Input ...

  4. VB6 如何添加自定义函数 模块 把代码放到一个模块中

    1 工程-添加模块,在右侧工程视图中可以发现多了一个Module1   2 比如我在这个模块中自定义两个函数,分别为写入和读取INI的函数   3 则在主程序中已经可以直接调用  

  5. MIT 操作系统实验 MIT JOS lab1

    JOS lab1 首先向MIT还有K&R致敬! 没有非常好的开源环境我不可能拿到这么好的东西. 向每个与我一起交流讨论的programmer致谢!没有道友一起死磕.我也可能会中途放弃. 跟丫死 ...

  6. Bootstrap的js插件之弹出框(popover)

    data-toggle="popover"--使弹出框可以切换状态: title--设置弹出框的标题: data-content--设置弹出框的内容部分: data-placeme ...

  7. libevent API 介绍

    基本应用场景也是使用 libevnet 的基本流程,下面来考虑一个最简单的场景,使用livevent 设置定时器,应用程序只需要执行下面几个简单的步骤即可. 1)首先初始化 libevent 库,并保 ...

  8. Android耳机线控具体解释,蓝牙耳机button监听(仿酷狗线控效果)

    转载请注明出处:http://blog.csdn.net/fengyuzhengfan/article/details/46461253 当耳机的媒体按键被单击后.Android系统会发出一个广播.该 ...

  9. JAVA 并发编程-返回运行结果(Callable和Future)(九)

    启动一个线程不论使用Thread或者Runnable的时候.都是没有返回结果的. 也就是说Thread和Runnable的run()方法必须没有返回值. public void run(){} 解决方 ...

  10. asp.net mvc + javascript生成下载文件

    近期做的是对现有项目进行重构.WEB FROM改成MVC,其实也算是推倒重来了. 里面有一个导出功能,将数据输出成txt文件,供下载.原先的做法是有一个隐藏的iframe,在这个iframe的页面中设 ...