简介:常⻅的搜索引擎,Lucene,Solr,Elasticsearch
Lucene
- Lucene是⼀个Java全⽂搜索引擎,完全⽤Java编写。Lucene不是⼀个完整的应⽤程序,⽽是⼀个代码库和API,可以很容易地⽤于向应⽤程序添加搜索功能。
- 通过简单的API提供强⼤的功能
- 可扩展的⾼性能索引
- 强⼤,准确,⾼效的搜索算法
- 跨平台解决⽅案
- Apache软件基⾦会
- 在Apache软件基⾦会提供的开源软件项⽬的Apache社区的⽀持。
- 但是Lucene只是⼀个框架,要充分利⽤它的功能,需要使⽤java,并且在程序中集成Lucene。需要很多的学习了解,才能明⽩它是如何运⾏的,熟练运⽤Lucene确实⾮常复杂。
- 通过简单的API提供强⼤的功能
Solr
- Solr是⼀个基于Lucene的Java库构建的开源搜索平台。它以⽤户友好的⽅式提供ApacheLucene的搜索功能。它是⼀个成熟的产品,拥有强⼤⽽⼴泛的⽤户社区。它能提供分布式索引,复制,负载均衡查询以及⾃动故障转移和恢复。如果它被正确部署然后管理得好,它就能够成为⼀个⾼度可靠,可扩展且容错的搜索引擎。很多互联⽹巨头,如Netflix,eBay,Instagram和亚⻢逊都使⽤Solr,因为它能够索引和搜索多个站点。
- 强⼤的功能
- 全⽂搜索
- 突出
- 分⾯搜索
- 实时索引
- 动态群集
- 数据库集成
- 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系统
- 站内搜索
- 篮球论坛