场景:在公司日志系统中使用es进行日志的保存和查询,由于需要像mysql中like关键字一样查询日志的某些字段,但是es中的类似like的关键字消耗性能会比较大影响其他程序的使用(架构给我说的),所以不能使用,于是有了这个代替like的方案,性能上不会消耗很多,依然使用ik分词,通过调整最小匹配度来满足功能的实现,下面是es的sql写法
{
"match": {
"字段名": {
"query": "凯美瑞进口",
"operator": "AND",
"minimum_should_match": "100%"
}
}
}
外面两层bool,和must省去了。这样不能百分百模仿出like,但是也基本满足需求了,进口,可以收到,凯美瑞可以搜到,记住如果用了ik分词term就会失效