版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/102785293
简介:常用的搜索引擎,Lucene,Solr,Elasticsearch
Lucene
- Lucene是一个Java全文搜索引擎,完全用Java编写。Lucene不是一个完整的应用程序,⽽是⼀个代码库和API,可以很容易地用于向应用程序添加搜索功能。
- 通过简单的API提供强大的功能
- 可扩展的高性能索引
- 强大,准确,高效的搜索算法
- 跨平台解决方案
- Apache软件基金会
- 在Apache软件基金会提供的开源软件项目的Apache社区的⽀持。
- 但是Lucene只是一个框架,要充分利用它的功能,需要使用java,并且在程序中集成Lucene。需要很多的学习了解,才能明白它是如何运用的,熟练运用Lucene确实非常复杂。
- 通过简单的API提供强大的功能
Solr
- Solr是一个基于Lucene的Java库构建的开源搜索平台。它以用户友好的方式提供ApacheLucene的搜索功能。它是一个成熟的产品,拥有强大广泛的用户社区。它能提供分布式索引,复制,负载均衡查询以及自动故障转移和恢复。如果它被正确部署然后管理得好,它就能够成为一个适度可靠,可扩展且容错的搜索引擎。
- 强大的功能
- 全文搜索
- 突出
- 分类搜索
- 实时索引
- 动态群集
- 数据库集成
- NoSQL功能和丰富的文档处理
Elasticsearch
- Elasticsearch是一个开源,是一个基于Apache Lucene库构建的Restful搜索引擎.
- Elasticsearch是在Solr之后一年推出的。它提供了一个分布式,多租户能用的全文搜索引擎,具有HTTP Web界面(REST)和无架构JSON文档。Elasticsearch的官方客户端库提供Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript。
- 主要功能
- 分布式搜索
- 数据分析
- 分组和聚合
- 应用场景
- 维基百科
- Stack Overflow
- GitHub
- 电商网站
- 日志数据分析
- 商品价格监控⽹站
- BI系统
- 站内搜索
- 篮球论坛