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. Go --- 设计模式(模板模式)

    模版模式真的是一个好东西.所谓模版模式,就是说,某几个类中相同的操作和代码提取到父类的一个函数中,并定义相同的操作为抽象函数.由子类来实现.估计我也没表达清楚,下面还是看代码来讲解吧. 例:我们有两个 ...

  2. Android常见UI组件之ListView(二)——定制ListView

    Android常见UI组件之ListView(二)--定制ListView 这一篇接上篇.展示ListView中选择多个项及实现筛选功能~ 1.在位于res/values目录下的strings.xml ...

  3. Python不同功能的函数

    •函数作为参数 import math def add(x,y,f): return f(x) + f(y)print add(25,36,math.sqrt) •map()函数 map()是 Pyt ...

  4. java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException

    java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException 遇到这样的问题 ...

  5. android之检測是否有网络

    主要是用来检測是否有网络,假设没有,就去wifi里面去进行设置网络... 以下贴一下主要代码: private void checkNetWorkInfo() { if (!Tools.isNetwo ...

  6. [Sciter] 1. 创建最简单的Sciter项目

    一些函数 sciter::debug_output_console _; 程序运行时自动启动一个控制台窗口,通过在_tiscript_中调用stdout.println来输出调试信息 SciterSe ...

  7. 【Android】获取控件的宽和高

    有时候我们须要在Activity的时候获取控件的宽和高来做一些操作,以下介绍三种获取宽和高的方式: 1. onWindowFocusChanged @Override public void onWi ...

  8. mysql + Fluently NHibernate + WebAPI + Autofac

    MySQL.Fluently NHibernate.WebAPI.Autofac,对我来说每一个都是麻烦疙瘩,现在它们为了一个共同的项目而凑合到一起了.一路磕磕碰碰,现在貌似有了一点眉目. 作为一个步 ...

  9. 2016/4/1 PDO:: 数据访问抽象层 ? :

    ①PDO方式连接 数据库 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  10. C++ 函数部分(1)

    1.编写一个求X的n次方的函数 .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas ...