【问题标题】:MongoDB full text search vs Lucene? [closed]MongoDB全文搜索与Lucene? [关闭]
【发布时间】:2014-03-19 05:37:47
【问题描述】:

目前 MongoDB 的全文搜索与 Lucene 相比如何?这个问题的原因是由于我不确定:

a) 在生产中使用 mongo 的 FTS 实现,因为大约 6 个月前它仍处于测试阶段

b) 因为 lucene 使用 Java,这将引入另一个移动部分。

【问题讨论】:

  • 明确一点,Lucene 不仅仅在 Java 环境中工作。 .NET 和 C++ 版本也可用。

标签: mongodb lucene


【解决方案1】:

在不纠结于可能不适合编程论坛的冗长主题的情况下,我将尝试基本涵盖这一点,但仍会尝试涵盖要点。

进行广泛比较时要考虑的主要问题是:“'XYZ' 关系数据库引擎全文搜索如何与 Lucene 相提并论”

因此,如果您考虑到这一点,并且已经体验过这些产品的内置“全文”功能,那么您应该将这些苹果与 MongoDB“全文”苹果进行比较。

简而言之,MongoDB 提供了基本的全文功能,与关系产品中的功能没有太大区别。正如 a:) 中提到的,设施是新的,但比以前的设施要好,这没什么。

b:) 上,Lucene 和衍生品/对应物(Solr / ElasticSearch 等)应该被视为完全不同的动物。在您需要高级标记化和词干提取的地方,内置用于“更像这样”方面计数的搜索功能。在这些情况下,单独的产品是必需的。

当然,有几种解决方案可以从 Lucene 等中的 MongoDB 存储中索引数据,甚至自定义这个过程也不难。但它正在维护您的基础架构中的另一个活动部分。

所以我并不认为这需要比较 MongoDB 文本搜索与 Lucene,因为最终它们的存在是为了做不同的事情,这只是一个问题您的应用程序需要。选择最适合您的解决方案。

唯一要补充的是,Lucene(及其衍生产品)系列是很棒的产品。不要回避试一试,至少要评估一下。前面的要点是那里比任何“标准数据库文本搜索”都强大得多。此外,管理和学习曲线通常“没有你想象的那么难”。玩一玩,可能值得实施。

【讨论】:

  • @heinob 似乎有点。一般经验法则,不要将“电锯”与“园艺剪”进行比较,也不要使用“电锯”修剪树篱,如果您想要砍倒一棵树,那么前进。但我相信你已经同意了;)
  • ...然后决定哪一个最好,这总是一个好的开始,以前都曾经拥有过。
  • 这个链接可能有助于快速获取数据 - openwebspider.org/2015/04/03/…
【解决方案2】:

长话短说:是的,Lucene (Solr/ElasticSearch) 是另一个动人的部分。你必须知道,我讨厌在我的系统中添加移动部件。我会做任何事情来避免它。但是,如果您想在您的应用程序中支持超越简单(简单!)全文搜索的搜索那么您需要 Lucene。我向你保证,当你习惯了它,你永远不会(永远!)会再次错过它。

所以简单的建议是:试试看!你不会后悔的。

【讨论】:

  • 同意。为什么不呢。
猜你喜欢
  • 2011-10-12
  • 2011-03-30
  • 2013-09-05
  • 2012-08-02
  • 2020-10-06
  • 1970-01-01
  • 2016-05-13
  • 1970-01-01
相关资源
最近更新 更多