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. 44444444444444444444444444444444dddddddddd66666666666666666666666666

    dddddddddddddddddddddddddddddddddddddddddddddddddddd

  2. 【.Net Core 学习系列】-- EF Core实践(DB First)

    一.开发环境: VS2015, .Net Core 1.0.0-preview2-003156 二.准备数据: CREATE DATABASE [Blogging]; GO USE [Blogging ...

  3. datasnap中间件如何控制长连接的客户端连接?

    ActiveConnections: TClientDataSet; ... 有客户端连接上来的时候 procedure TForm8.DSServer1Connect(DSConnectEventO ...

  4. MySQL学习系列之触发器

    触发器简介 触发器作用: 监控某种事件并触发某种动作 触发语法: CREATE TRIGGER trigger_name trigger_event ON tbl_name FOR EACH ROW ...

  5. 使用VLC搭建视频直播服务器

    去年我们信息之夜我们进行过视频直播服务,当时我们使用了WMS(Windows Media Server)实现了这个服务,但是编码是微软的WMV,因而像iPhone/Android这样的智能手机无法观看 ...

  6. Android 使用图片异步载入框架Universal Image Loader的问题

    使用的Jar包 问题:        optionsm = new DisplayImageOptions.Builder()         .displayer(new RoundedBitmap ...

  7. 【JAVA】java中Future、FutureTask的使用

    如今的系统基本都是分布式的,各个系统各司其职的,不可能一个系统干了全部系统的事. 所以系统之间的交互就越来越多了.那么系统之间的交互仅仅有通过网络来交互了,而网络必定会存在延时的情况. 比方A系统的一 ...

  8. Vi/Vim查找替换使用方法【转】

    原文地址:http://wzgyantai.blogbus.com/logs/28117977.html vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂 ...

  9. mysql命令行爱好者必备工具mycli

    mycli MyCLI is a command line interface for MySQL, MariaDB, and Percona with auto-completion and syn ...

  10. 交换分区 在dd命令执行期间 top 其消耗系统约14%的cpu,而mem占比约为0

    [资源不友好代码] from pyltp import * d_dir = '/usr/local/ltp_data_v3.4.0/' def gen_one_sentence_part(paragr ...