• 50.常用的query查询方式


    主要知识点

    • match all
    • match
    • multi match
    • range query
    • term query
    • terms query
    • exist query

       

       

    1match all

    查询所有

    GET /_search

    {

    "query": {

    "match_all": {}

    }

    }

    示例:

    GET /company/employee/_search

    {

    "query": {

    "match_all": {}

    }

    }

       

    2match

    GET /_search

    {

    "query": { "match": { "title": "my elasticsearch article" }}

    }

    示例:

    GET /company/employee/_search

    {

    "query": {

    "match": {

    "age": "27"

    }

    }

    }

       

    3multi match

    GET /test_index/test_type/_search

    {

    "query": {

    "multi_match": {

    "query": "test",

    "fields": ["test_field", "test_field1"]

    }

    }

    }

    示例:

    GET /company/employee/_search

    {

    "query": {

    "multi_match": {

    "query": "china",

    "fields": ["address.city","address.country","address.province"]

    }

    }

    }

       

    4range query

    GET /company/employee/_search

    {

    "query": {

    "range": {

    "age": {

    "gte": 30

    }

    }

    }

    }

    示例:

    GET /company/employee/_search

    {

    "query": {

    "range": {

    "age": {

    "gte": 30

    }

    }

    }

    }

       

    5term query

    不分词,必须精确匹配

    GET /test_index/test_type/_search

    {

    "query": {

    "term": {

    "test_field": "test hello"

    }

    }

    }

       

    6terms query

    不分词,必须精确匹配

    GET /_search

    {

    "query": { "terms": { "tag": [ "search", "full_text", "nosql" ] }}

    }

       

    7exist query

    2.x中的查询,现在已经不提供了)

  • 相关阅读:
    【FZYZOJ】细菌 题解(最短路)
    oracle 开发 第02章 查询
    oracle 开发 第01章 简介
    rhel配置163、epel、rpmforge的yum源
    linux 手动清除缓存
    查看linux内核版本和发行版本
    linux下安装rlwrap
    linux下安装vncserver
    Nagios 安装
    linux mutt发送报表
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8471677.html
Copyright © 2020-2023  润新知