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

一、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": {}
        }
      }
    }

猜你喜欢

转载自www.cnblogs.com/DjanFey/p/12112730.html
今日推荐