Elasticsearch是一个基于Lucene的搜索服务器。
基于RESTful web接口
主要是搜索功能,为了我们的程序在大量数据并发时,更快的检索出来。
优点:
为什么会比数据库访问快,因为他把我们数据库的主要数据放到自己的检索槽里,可以更快的为你提供想要的数据。
Elasticsearch是与我们的数据库并行的,就是数据库的数据可以与我们的索引里的数据在定时时间里更新数据。
自带分词器,例如我们在百度的时候,搜索一句话或某个词会出来关于这个关键词的语句,就是我们分词器的功能,分词器最好是设定分词规则,如果设置详细分字规则,在定义我们数据的时候会不准确,所以模糊点是比较好的,便于我们的数据更加精确。
一般我们使用es都是在论坛,新闻等项目当中用的比较多,因为这种数据比较繁琐,我们利用模糊很难找到自己想要的数据,那么es就可以帮我们解决这个问题,我们在电商当中,只需要模糊就够使用了。
es搜索使用站外搜索,例如我们百度、谷歌等浏览器使用比较方便
缺点:
如果表记录上千万上亿了这个性能问题,另外一个如果有一个本文字段要在里面模糊配置,这个就会出现严重的性能问题
还不能将搜索词拆分开来,比如上面这个只能搜索名字是“张三”开头的员工,如果想搜出“张小三”那是搜索不出来的。
总体来说,用数据库来实现搜索,是不太靠谱的,通常性能也会很差