最近用laravel做项目,laravel自带的是algolia,可都说elasticsearch好,该用哪个
最近用laravel做项目,laravel自带的是algolia,可都说elasticsearch好,该用哪个
不知道algolia,我说一下elasticsearch吧!
elasticsearch原生支持集群,可以避免单点故障。支持PB级的数据检索。es带有restapi,可以调用API和其交互。
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答2.7k 阅读
1 回答578 阅读✓ 已解决
我没有用过
algolia
,这好像是国外的一个在线搜索的东东,不论是algolia
还是elastic
,都是一件代价颇高的事情,如果需求只是使用分词等技术,建议使用:Elastic
关于
Laravel
的scout
,新版的scout
已经取消了Elastic
的搜索支持。主要原因是Elastic的搜索功能非常强大,可以组合多种方式,而
laravel/scout
反而会限制其强大的搜索功能,所以作者取消了对其的支持。如果需要使用
elastic
,elasticsearch/elasticsearch
会更有灵活(支持所有API),但是和Laravel
关系的不紧密;Laravel
无缝关联,并且可以使用ORM
的搜索语法(大部分),比如:User::search()->whereIn('gender', ['male', 'female'])->where('name', 'match', '一段可以分词的文本')->get();
Elastic的强大是毋容置疑的,一个优秀的分析器、词库,基本上可以代替第三方搜索(比如百度等),
但是也带来高昂的硬件投入和很高代价的学习成本