es模糊查询遇到的问题及替代方法

场景:在公司日志系统中使用es进行日志的保存和查询,由于需要像mysql中like关键字一样查询日志的某些字段,但是es中的类似like的关键字消耗性能会比较大影响其他程序的使用(架构给我说的),所以不能使用,于是有了这个代替like的方案,性能上不会消耗很多,依然使用ik分词,通过调整最小匹配度来满足功能的实现,下面是es的sql写法

{
  "match": {
    "字段名": {
      "query": "凯美瑞进口",
      "operator": "AND",
      "minimum_should_match": "100%"
    }
  }
}

外面两层bool,和must省去了。这样不能百分百模仿出like,但是也基本满足需求了,进口,可以收到,凯美瑞可以搜到,记住如果用了ik分词term就会失效

转载于:https://my.oschina.net/u/3819060/blog/2249501

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值