首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在千亿级的帖子中搜索关键词?

如何在千亿级的帖子中搜索关键词?
EN

Stack Overflow用户
提问于 2010-09-04 20:00:37
回答 8查看 848关注 0票数 6

这是一个大学项目:

我有一个数据库( mysql或postgresql无关紧要),有1000亿个帖子,我需要(尽可能快地)搜索一个通用关键字。

每篇文章都有500-1000个关键词。

这不仅是一个数据库问题,也是一个软件(用于索引或其他)问题。

我该怎么做呢?

我可以使用一些先进的搜索引擎技术,但我不知道是哪种。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-09-04 20:03:48

你可能想看看Sphinx。这是一个处理分布式索引的全文搜索引擎。您可以将部分数据分散到多台计算机上。查询单个服务器可以将查询发送到其他服务器,并从每个服务器收集结果。它有相当好的速度,但你可能不能在一台机器上处理1000亿篇帖子。

你可能无法在MySQL或Postgresql中做这样的事情。虽然您可以存储所有数据,但MySQL和Postgres缺乏真正的全文索引将为您带来的全文索引和搜索速度。

MySQL有一种编译方法来支持Sphinx存储引擎,尽管数据仍然存储在独立于MySQL的Sphinx中,但是您仍然可以使用任何连接到MySQL的东西来查询Sphinx搜索引擎,还可以连接到MySQL数据库中的其他表。但是,如果您只想对文档执行简单的搜索,而不需要连接到其他数据,则可以只使用原生PHP界面。

票数 4
EN

Stack Overflow用户

发布于 2010-09-04 20:05:22

你有没有考虑过使用Apache Lucene

这不能直接与您的SQL数据库一起工作,您必须编写一些代码来将文档提供给它,以便构建和索引,然后您可以查询。

然而,我不知道这需要多少额外的空间,以及需要多少时间。

票数 13
EN

Stack Overflow用户

发布于 2010-09-04 20:33:42

把“千亿”的帖子数据卖给谷歌。:)

他们会给你免费的索引,这样你就能赚钱了。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3642148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档