ElasticSearch漫游 (8. 进阶 DSL查询 )

前7篇 全部是入门篇,让大家可以了解到ES的最基础的东西。
ES的最大价值在于海量的搜索引擎查询场景。
所以从这章开始 我们开始接触 正式的DSL 查询,介绍常用的查询场景。
这些基本都是企业里面常用的东西

查询所有

暴力简单明了 查所有数据

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

全文检索

什么是全文检索呢?
简单理解就是从一个索引库全部的数据范围中根据条件查询数据,mysql中经常会遇到你某个sql写的很弱智 造成了全文检索 慢查询 然后被运维打一顿。
但是ES全文检索没问题,ES天生就擅长全文检索,在检索时会对用户输入进行分词。

注意一点 全文检索一般时查询 text 类型的字段。 因为test类型才会分词。我们在前几篇中定义mapping的时候,就考虑过 哪些字段适合text 哪些字段适合keyword。 多个字段还可以组合为 ‘all’

试一下:

GET /hotel/_search
{
   
 "query": {
   
   "match": {
   
     "all": "四川"
   }
 }
}

看 全文检索的神奇! 他把所有带四川的都搜出来了

"hits" : {
   
    "total" : {
   
      "value" : 3,
      "relation" : "eq"
    },
    "max_score" : 8.388254,
    "hits" : [
      {
   
        "_index" : "hotel",
        "_type" : "_doc",
        "_id" : "60935",
        "_score" : 8.388254,
        "_source" : {
   
          "address" : "四平路59号",
          "brand" : "喜来登",
          "business" : "四川北路商业区",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值