中文分词 搜索,站内搜索非常实用的场景
mysql 搜索能满足我们的要求,但是千万以上,实用mysql 性能就会低下
es 检索能力非常强悍,基于lusson的搜索服务器 ,分布式的全文搜索引擎,基于 resuful ,通过post json 完成操作
源码基于java ,开源项目。实时搜索,稳定,可靠。还有实时计算的能力。
安装简单。elastic
1安装JDK
2解压 es包
3 配置 elasticsearch.yml 官网有具体配置
./bin/elasticsearch 启动 浏览器查看返回正确信息。安装完成
https://github.com/mobz/elasticsearch-head 可视化软件
分布式部署,es天然支持分布式
cluster.name: zy #集群的名字
node.name: zy_1 #节点名字
node.master: true #是否是主节点
复制es文件到新的地址
副节点 (主节点的地址 127.0.0.1) (修改端口号,和节点名字)
分布式es 搭建完成。
使用
https://learnku.com/courses/ecommerce-advance/6.x/the-basic-concept-of-elasticsearch/5861
创建索引,创建类型 analyzer:ik_smart 中文分词器,创建文档
在laravel 使用一款插件,配置查询项即可
分面搜索,类似于group by,功能更强大。
设置根据哪个字段聚合,聚合完成后有多少个数据在当前聚合下aggs 可以进一步聚合
如何实现商品信息同步更新
创建laravel 异步任务
对模型事件saved的地方触发异步任务
启动laravel 队列处理器