ES学习(三)--六种查询

為{幸葍}努か 提交于 2019-12-28 19:13:15

一、query string search
  A、搜索全部商品
    GET /ecommerce/_search
  B、 查询商品名为牙膏,价格降序排列
    GET /ecommerce/_search?q=name:yagao&sort=price:desc

二、 query DSL
  A、 查询所有商品
    GET /ecommerce/_search
    {
      "query": {
        "match_all": {}
      }
    }
  B、 查询所有名称包含yagao的商品,同时按照价格降序排列
    GET /ecommerce/_search
    {
      "query": {
        "match": {
          "name": "yagao"
        }
      },
      "sort": [
        {
          "price": {
            "order": "desc"
          }
        }
      ]
    }

三、 分页
  A、GET /ecommerce/_search
    {
      "query": {
        "match_all": {}
      },
      "from": 0,
      "size": 2
    }

四、 查询指定字段
  A、GET /ecommerce/_search
    {
      "query": {
        "match_all": {}
      },
      "_source": ["name","desc","price"]
    }

五、 query filter
  A、搜索商品名称包含牙膏且售价大于25的
    GET /ecommerce/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "match": {
                "name": "yagao"
              }
            }
          ],
          "filter": {
            "range": {
              "price": {
                "gte": 25
              }
            }
          }
        }
      }
    }

六、 full-text search
  A、GET /ecommerce/_search
    {
      "query": {
        "match": {
          "producer": "yagao producer"
        }
      }
    }

七、 phrase search
  A、GET /ecommerce/_search
    {
      "query": {
        "match_phrase": {
          "producer": "yagao producer"
        }
      }
    }

八、 hightlight search
  A、GET /ecommerce/_search
    {
      "query": {
        "match": {
          "producer": "producer"
        }
      },
      "highlight": {
        "fields": {
          "producer": {}
        }
      }
    }

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!