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

你可能感兴趣的:(es模糊查询遇到的问题及替代方法)