我一直在使用Solr的成功为近2年了,从来没有使用过狮身人面像,所以我显然有失偏颇。 不过,我会尽量保持客观引述的文档或其他人。 我还会采取相应补丁,以我的答案:-)
相似点:
- 无论Solr的狮身人面像和满足您的所有需求。 他们速度快,设计索引和高效地搜索数据的大型机构。
- 无论使用它们具有高流量的网站的一个长长的清单( Solr中 , 狮身人面像 )
- 两者都提供商业支持。 ( Solr的 , 斯芬克斯 )
- 两者都提供客户端API绑定多个平台/语言( 狮身人面像 , Solr的 )
- 既可以是分布式的以提高速度和容量( 斯芬克斯 , Solr的 )
这里有一些不同之处:
- Solr的,是一个Apache项目,显然是Apache2的许可。 狮身人面像GPLv2许可 。 这意味着,如果你需要嵌入或延长(不只是“使用”)狮身人面像在商业应用程序,你就必须购买商业许可( 理 )
- Solr的是很容易嵌入在Java应用程序。
- Solr的是建立在Lucene的,这是一种成熟的技术在顶部8岁了庞大的用户基础 (这只是一小部分)。 每当Lucene的得到一个新的功能或加速,Solr的得到它了。 许多开发者在提交到Solr的也Lucene的提交者。
- 狮身人面像更紧密地集成了RDBMS的,尤其是MySQL的。
- Solr的可使用Hadoop构建分布式应用集成
- Solr的可使用Nutch集成,快速构建与履带一个不折不扣的网络搜索引擎 。
- Solr的CAN 指数专有格式如Microsoft Word,PDF等 。 狮身人面像不能 。
- Solr的配备了一个拼写检查开箱 。
- Solr的带有面开箱即用支持的 。 在狮身人面像小面需要更多的工作 。
- 狮身人面像不允许现场数据部分索引更新 。
- 在狮身人面像, 所有的文档ID必须是唯一的无符号非零整数 。 Solr的甚至不需要为很多操作的唯一密钥 ,以及唯一键可以是整数或字符串。
- Solr的支持字段塌陷 (目前仅作为附加贴片),以避免重复类似的结果。 狮身人面像似乎并没有提供任何这样的功能。
- 虽然狮身人面像被设计成只检索文档ID ,Solr中你可以直接得到整个文档与几乎任何类型的数据,使之更独立于任何外部数据存储,并节省额外的往返。
- Solr的,除非使用嵌入式的时候,在运行的Java Web容器 ,如Tomcat或Jetty,这需要额外的具体配置和调整 (或者可以使用包括码头 ,只是用它推出
java -jar start.jar
)。 狮身人面像有没有额外的配置。
相关的问题:
- 全文搜索使用Rails
- Lucene的,狮身人面像和PostgreSQL,MySQL的-全文搜索引擎的比较?
除非你需要的任何专有的方式扩展搜索功能,狮身人面像就是你最好的选择。
狮身人面像的优点:
- 开发和安装速度更快
- 更好,速度更快的聚集。 这是我们的杀手级功能。
- 不是XML。 这是最终排除了Solr的我们。 我们不得不返回相当大的结果集(想想数百结果),然后汇总它们自己因为Solr的聚集缺乏。 的时间量来序列化和XML只是绝杀性能。 对于小的结果集,虽然,这是完全正常的。
- 我在一个开源应用所看到最好的文档
Solr的优势:
- 可以延长。
- 可以直接从Web应用程序,也就是打它,你可以自动完成样的搜索直接通过AJAX打Solr的服务器。
注意:有很多用户在考虑同样的问题。
因此,要回答的问题:
这为什么?
备择方案
虽然这些都是巨头,也有很多人。 此外,还有那些用这些来驱动他们的自定义框架。 所以,我要说的是,你真的没有错过任何。 虽然有一个elasticsearch具有良好的用户基础。
我一直在使用狮身人面像快一年了,现在,它已经达到惊人。 我可以索引150万个文档大约一分钟我的MacBook,甚至更快的服务器上。 我也使用狮身人面像,以搜索限制在特定的纬度和经度之内的地方,这是非常快的。 此外,结果排名是非常tweakable。 易于安装和设置,如果你读一个或两个教程。 几乎1.0地位,但他们的RC版已经坚如磐石。
Lucene的/ Solr的似乎更多特色,并与商业较长年,一个更强大的用户社区。 恕我直言,如果你能得到过去的初始设置问题,因为有些似乎已经面临(不是我们),那么我会说的Lucene / Solr的是你最好的选择。