elasticsearch7中like的原理是什么?

在es7中使用sql语句,对子结构使用like,依然能搜出结果,比mysql的like强大很多。es7中该语句的原理是什么?

es中的某条文档数据:

{
    article_id:15,
    article_con:"xxxxx",
    article_tag:[
        {
            "tag_id":5,
            "tag_title":"北京研究院"
        },
        {
            "tag_id":12,
            "tag_title":"化工材料"
        }
    ]
}

使用的sql:

select * from xxx where article_tag.tag_title like %北京%

最佳答案

大的来说首先ES底层给你提供了一个非常牛逼的算法来支撑搜索服务

小的来说,ES的数据是存储在内存中的,而mysql是IO操作,性能肯定有差距的,当然这只是微小的一点,和like查询没什么大的关系

主要是es索引能力的问题