[英]What are the downsides of using Lucene?
我正在考虑在我的项目中使用Lucene来进行非常快速的搜索。 我知道Lucene创建了自己的文件,它保存所有的数据/索引。
我想知道使用Lucene的缺点是什么? 有吗?
您是否必须对文件数据库执行任何操作,或者在没有任何外部帮助的情况下工作得很好?
PS我知道还有Lucene .NET,我打赌同样的规则适用于那里。
Lucene很棒。 非常灵活,令人惊讶的快速,以及可靠的API。 邮件列表非常有用。
这些文件确实需要一些维护,但可以使用提供的工具完成。 最重要的是偶尔优化索引,但只有在定期更新索引时才需要这样做。
我建议也要考虑Solr。 它本质上是一个位于Lucene之上的webapp和工具。 它使创建新索引,保持优化以及为可伸缩搜索集群提供主/从同步变得更加容易。 当然,这取决于您的实际需求。
举个例子,我曾经为一家知名的大型游戏公司维护一个搜索索引。 该索引拥有数十万种多语言(全球)和语言环境的条目。 它每天在集群上执行一百万次搜索,几乎不使用任何CPU和合理的内存量。 它已经在我们拥有的硬件上进行了大约3亿次搜索的负载测试,并且可以通过简单地向cluser添加更多的盒子来线性扩展。 Solr和Lucene是这方面的主要工具。
如果我不得不给出一个缺点,那就是学习曲线。 有一点需要理解,如果你想要一个真正优化的解决方案,你需要很好地了解它。 但是,如果您自己执行此操作,则会使用您使用的任何搜索工具。 文档,维基和邮件列表为此提升提供了大量支持。
我对Lucene的经验有限,到目前为止它一直很棒。 我能看到的缺点主要来自业务方面:
Lucene确实存在可扩展性问题。 当索引越来越大时,其性能会下降。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.