可能很难在Apache Lucene和Google Search Appliance之间找到比较,因为它们是如此不同的东西。Lucene是一个软件组件,用于索引具有基本相关性的文档,GSA是一个企业搜索产品(设备/物理硬件),具有许多开箱即用的功能,可以基于Google搜索算法调整和优化搜索结果。
因此,它们基本上是两个伟大的工具,具有不同的实现场景。但当然会有重叠,特别是如果用来在你的普通网站上提供搜索。
在我的脑海中,有几个你可能想要开始比较的话题:
Deployment/Architecture
- Lucene是一个软件组件,可以深度集成到你自己的软件中,提供一个索引(通常基于文件,有时在内存中)来快速索引和检索内容。
- 这个lucene项目提供了一个相当大的分析器列表,可以对不同语言(西方语言,阿拉伯语,亚洲等等)进行适当的索引。但有改进的空间与analyzers
- Lucene的.Net是一个相当流行的端口,以集成在微软的.Net Plattforms.
- GSA软件和硬件捆绑在一起,并出售与一个(S)接口提供超文本标记语言(通过它自己的XSLT)或可扩展标记语言(为了更好地集成到您的网站)的搜索结果的.Net
- GSA附带语言包(安装和下载)。您必须选择其中一个捆绑包。如果您需要对更多语言的支持,您可能需要在基础架构中添加另一个GSA (如果所有需要的语言都不在一个包中)
- GSA的性能非常出色,并且只需要很少的maintenance
- GSA,让我们几乎不需要任何工程工作就可以扩展。可通过web设置分布在全球各地但已连接的interface
- GSA通过购买更便宜的热备份模块
即可实现高可用性
索引
- Lucene提供了爬虫(和爬虫API)来索引内容。它不关心你的爬虫是否真的像谷歌一样爬行网站,或者你是基于SQL语句爬行数据库,还是提供从平面文件中读出的文本流。但通常情况下,如果提供的不符合您的需求,则必须实现爬虫
- GSA使用谷歌使用的爬虫技术,遵守机器人指令(在TXT或Meta标签中),它为无法爬网的源提供feed API (即它们之间没有链接),并且它支持设置到所有市长DB的SQL查询,以便从数据库中检索数据(无论是要爬行的URL还是数据本身)
检索/相关性调整
- Lucene没有针对也没有很好的支持相关性调优(除了提升索引中的条目)。这是由使用索引结果的应用程序来做的,tuning
- Lucene是SOLR使用的索引,它提供了更类似于GSA的调优和架构(包括基于HTTP(S)的结果检索)
- GSA让您可以基于元数据、日期和URL模式来偏置结果集。在最新版本中,您甚至可以设置自己的实体并基于这些实体对结果进行偏差
- GSA支持元数据的开箱即用的方面,以及界面上的一些更花哨的功能,如文档的预览图像、自动建议等。
商业事物
GSA purchased
- GSA是一种开源(免费)产品,但要求硬件必须是documents/URLs
- Google起价约20,000美元/ 500k hardware)
许可证必须每2年或3年续订一次(您将获得新的GSA不需要任何额外的硬件(包括设备)
...还有很多要补充的,但我希望你能明白这一点.
2016年2月更新:
谷歌已经通知合作伙伴,GSA将在2019年左右停止使用。目前最好的链接站点似乎是http://fortune.com/2016/02/04/google-ends-search-appliance/。