Hug*_*ugo 34 java lucene relational-database mongodb
在一个新项目中,我需要努力使用lucene来实现搜索器.这个搜索者将是该项目的一个非常重要(和大)的部分.用MongoDb替换Relational Database + Lucene是有效还是方便?
编辑:好的,我会澄清:我不是在询问风险,我可以在这个项目中支付这个价格.我的观点是:MongoDB是否面向这种事情?我可以制作一个完整的搜索引擎,具有与Lucene相同的性能吗?一位朋友指出MongoDB是另一种选择,但我不知道Lucene性能是否带有文档备选(然后,我也会在MongoDB中看到它),或者,另一方面,反向索引和优化是完全的独立的文件导向.
Mic*_*ael 19
从技术上讲,您可以使用MongoDB进行全文搜索,但是您错过了全文搜索提供商必须提供的功能.我喜欢MongoDB,但如果时间紧迫,我会将它与全文搜索提供商(如Lucene或Sphinx)结合起来.我认为MongoDB对单词数组进行索引的便捷能力最好留给基于标记的标记和搜索,而不是全文搜索.
搜索(信息检索)不只是抓取任何匹配的文档,如果您希望搜索结果具有任何相关性,那么您将需要TF-IDF,短语匹配(序列中的单词)得分更高)或任何数量的其他红外技术,以提高搜索精度.如果你使用MongoDB,你需要从头开始实现它.
如果你真的想从头开始实现它,而不是原始存储方面的麻烦,MongoDB非常接近最好的数据库存储,你可以在它上面实现它(不能想到很多其他的),但是仍然没有成为一个很好的选择.
我对 MongoDB 不熟悉,所以我不能直接回答这个问题,但我想指出的是,与 Lucene(大约有十年历史)和关系数据库(已经存在了几十年)不同,MongoDB 还不到三年老的。
在游戏的这个阶段,它可能仍处于成熟阶段。它可能适合您的需求(我很好奇是否有熟悉使用它的人会在这里插话),但您需要将其纳入您的方程式中。您愿意付出代价来使用尖端技术吗?
即使它最终足够稳定和高效,您也可能会遇到网站/教程等形式的有限支持的问题(由于用户群较小)。您还冒着它被终止的风险。
抓住这个机会是值得的,但你需要睁大眼睛,不要被“哦,看看闪亮的新玩具”效果蒙蔽了双眼。
| 归档时间: |
|
| 查看次数: |
10300 次 |
| 最近记录: |