es也类似是一个数据库,不过是一个倒序查询的数据
当搜索关键词是,传统的mysql的做法是遍历所有数据,然后一条一条匹配,把符合条件的数据从数据库取出返回。这样效率比较低
但是es的做法是,倒序查询,先根据keyword在内容中查询,然后,把符合条件的索引找出来,再把这条索引里的其他数据,按照请求的需求返回回去。这样效率就比较高。
es类似数据库,也有自己的curd。
es的几个概念
1,index =》 database
2,type =》 table
3,doc =》 一条记录
4,field =》字段
但是type的概念在后续版本会被删除。
elasticsearch在php中的使用,先composer require elasticsearch/elasticsearch/下载。
然后再跟进这个包,封装一个操作es的工具类,包含他的curd。
在项目中有一个封装好的工具类,以后要用的时候可以直接使用。
其余概念:
es是居于restful的分布式全文搜索,
restful就是可通过postman用get,put,post,delete来直接管理es
es接收的数据,和返回的数据都是json格式的
目前做的项目:es的全文搜索,是把以后要用到的搜索结果从mqsql数据库取出放到es中,包含goods_id,cate_name这些,然后把这个数据从es中取出来,展现到页面中,页面根据goods_id来访问mysql中的记录。只有搜索功能是用es来做的,至于展现数据,还是关系型数据库mysql更有优势。