ES-DSL的基本语法使用

GET _search
{
  "query": {
    "match_all": {}
  }
}

# 测试是否已连接
GET /


# 测试分词器
POST /_analyze
{
  "text":"黑马程序员学习Java太棒了!",
  "analyzer": "ik_max_word"
}


POST /_analyze
{
  "text":"白嫖太爽了,奥力给",
  "analyzer": "ik_smart"
}



# 创建索引库
PUT /heima
{
  "mappings": {
    "properties": {
      "info": {
        "type": "text",
        "analyzer": "ik_smart"
      },
      "email": {
        "type": "keyword",
        "index": false
      },
      "name": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "keyword"
          },
          "lastName": {
            "type": "keyword"
          }
        }
      }
    }
  }
}

# 查询索引库
GET /heima


# 删除索引库
DELETE /heima


# 修改索引库 只能添加字段,不能修改之前已有的字段
PUT /heima/_mapping
{
  "properties":{
    "age":{
      "type":"integer"
    }
  }
}


# 创建文档
POST /heima/_doc/1
{
  "info":"黑马程序员Java讲师",
  "email":"yz@itcast.cn",
  "name":{
    "firstName":"云",
    "lastName":"赵"
  }
}

# 查询文档
GET /heima/_doc/1


# 删除文档
DELETE /heima/_doc/1


# 修改文档 全量修改
PUT /heima/_doc/1
{
  "info":"黑马程序员Java讲师",
  "email":"qinliepgn@itcast.cn",
  "name":{
    "firstName":"云",
    "lastName":"赵"
  }
}

# 增量修改
POST /heima/_update/1
{
  "doc": {
    "info":"白马程序员Java讲师"
  }
}








GET /hotel/_doc/36934

# 查询全部
GET /hotel/_search

DELETE /hotel/_doc/36934



# 查询所有 DSL基本语法
GET /hotel/_search
{
  "query": {
    "match_all": {}
  }
}


# match查询(推荐)
GET /hotel/_search
{
  "query": {
    "match": {
      "all": "公园"
    }
  }
}

# 多字段查询multi_match
GET /hotel/_search
{
  "query": {
    "multi_match": {
      "query": "外滩",
      "fields": ["brand","name"]
    }
  }
}

# term 查询
GET /hotel/_search
{
  "query": {
    "term": {
      "city": {
        "value": "上海"
      }
    }
  }
}

# range查询
GET /hotel/_search
{
  "query": {
    "range": {
      "price": {
        "gte": 1000,
        "lte": 3000
      }
    }
  }
}


# distance 查询 以我为中心方圆5km开始查找 只需要指定距离和中心点就可以了
GET /hotel/_search
{
  "query": {
    "geo_distance": {
      "distance": "3km",
      "location": "31.21,121.5"
    }
  }
}


# function_score 查询

GET /hotel/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
        "all": "外滩"
        } 
      },
      "functions": [
        {
          "filter": {
            "term": {
              "brand": "如家"
            }
          },
          "weight": 10
        }
      ],
      "boost_mode": "sum"
    }
  }
}


# 高亮 默认情况下,ES搜索字段必须与高亮字段一致

GET /hotel/_search
{
  "query": {
    "match": {
      "all": "如家"
    }
  },
  "highlight": {
    "fields": {
      "name": {
        "require_field_match": "false"
      }
    }
  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值