php+elasticsearch查询

本文详细介绍了Elasticsearch的各种查询方式,包括match_all、match、multi_match、range、term与terms查询,以及exists查询。还探讨了如何进行组合查询,使用bool关键字结合must、must_not、should和filter进行复杂条件筛选。此外,还讲解了如何进行排序和分页操作,以满足不同查询需求。
摘要由CSDN通过智能技术生成
  1. elasticsearch单个查询
    (1)match_all 查询所有文档。在没有指定查询方式时,它是默认的查询。在PHP用法 不能直接用 “{}”
 $body = [
           "match_all"=> new  \stdClass()
        ];

(2) match 查询精确查询也可以匹配查询也可以,在PHP 中的用法

 $body = [
            "match"=>[
                "shop_content"=>"天气"
            ]
        ];
  $body = [
       "match"=>[
           "shop_id"=>"1"
       ]
   ];

shop_content 采用的是elasticsearch 默认分词器 standard 则匹配数据规则会把“天气”分开来 只要出现”天“或者 “气”的都匹配出来。采用IK中文分词器ik_max_word 会根据中文语法来分词查询。
shop_id则是精准匹配。
(3)multi_match 多项字段筛选

 $body = [
            "multi_match"=>[
                "query"=> "天天",
                "fields"=>[ "shop_name", "shop_content"]
            ]
        ];

shop_name或者shop_content 匹配到”天天“
(4)range 查询 = mysql 区间 查询

  $body = [
            "range"=>[
               "shop_id"=>[
                   "gte"=>3,
                   "lte"=>20,
               ]
            ]
        ];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值