首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将facebook的大文本文件加载到内存(39‘s),以便自动完成

将facebook的大文本文件加载到内存(39‘s),以便自动完成
EN

Stack Overflow用户
提问于 2011-09-07 08:26:36
回答 1查看 252关注 0票数 0

我正在尝试实现facebook api的一部分,自动完成功能ads.getAutoCompleteData

基本上,Facebook提供了这个39 and的文件,每周更新一次,其中包含有针对性的广告数据,包括学院、大学专业、工作场所、地点、国家、地区和城市。

我们的应用程序需要访问所有这些对象,并使用该文件的数据提供自动完成。

我在想解决这个问题的更好方法。我在考虑以下几种选择之一:

  1. 使用Trie (帕特里夏)将其加载到内存中,当然这会占用服务器上太多的内存。
  2. 在另一台机器上使用专门的搜索平台(如索尔 ),其缺点可能是过于工程化(尽管将来文件大小可能会大幅度增加)。
  3. (填补这里凉爽,轻松和速度轻的选项)?

那你觉得呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-07 08:34:05

我会坚持一个面向服务的体系结构(特别是如果产品应该处理大量的事务),并使用Solr。话虽如此,如果39 MB是单例的话,那么它在内存中的占用就不多了。与索引和所有这一切将达到什么?400 to?当然,这取决于您的产品的功能和您希望运行它的硬件类型。

我将使用Solr或编写您自己的服务,将文件读入一个快速DB中,比如MySQL的MyISAM表(甚至内存中的表),并使用mysql的文本搜索功能来提供结果。除非我会尝试使用Solr作为服务。

写我自己的服务的好处是我知道发生了什么,缺点是它不会像Solr那样强大。然而,我怀疑编写自己的服务将花费更少的时间来实现。

考虑编写您自己的服务,以异步方式提供请求(如果您的产品是一个网站,那么就使用ajax)。Solr或Lucene的问题是,如果你陷入困境,就不会有太多的帮助。

只是我的两分钱。

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

https://stackoverflow.com/questions/7330882

复制
相关文章

相似问题

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