在我工作的应用程序中,我需要在数据库中搜索文本(全文搜索)并根据其他列对结果进行优先级排序。考虑到性能,哪种数据存储在这里最好?我需要搜索结构化数据并优先考虑结果。
它是 RDBMS 还是文档存储(Couch、Mongo)或任何其他 NoSQL 数据库?或者我应该使用 Hadoop 等批处理工具并为搜索准备数据?
我正在寻找方向。提前致谢。
在我工作的应用程序中,我需要在数据库中搜索文本(全文搜索)并根据其他列对结果进行优先级排序。考虑到性能,哪种数据存储在这里最好?我需要搜索结构化数据并优先考虑结果。
它是 RDBMS 还是文档存储(Couch、Mongo)或任何其他 NoSQL 数据库?或者我应该使用 Hadoop 等批处理工具并为搜索准备数据?
我正在寻找方向。提前致谢。
一个月前,我遇到了类似的问题,想知道是否有确凿的事实,对 nosql 解决方案的性能优势进行可靠的测量。
因此,我在 Google 上进行了比较,发现了这个简洁的测试,而 pierre-yves 几天前就做了。
底线:文档存储似乎在性能方面处于领先地位,但与 nosql 解决方案一样,您必须牢记权衡。
更新:我忘了提到的是:皮埃尔也在讨论区分大小写的速度差异。在全文搜索中我无法完全关注的讨论,因为在全文搜索中,您几乎总是需要不区分大小写的搜索。也许您正在搜索的单词在大写字母中被标记为重要(带有小 s!),并且您永远不会在区分大小写的方法中找到它们。