如何在MongoDB中有效地存储和查询原始JSON流?

vgo*_*ani 1 python twitter mongodb pymongo

我想在MongoDB中有效地存储原始JSON流(通过Twitter或NYTimes),以便稍后我可以使用Lucene或Hadoop索引数据(NYTimes文章或推文/用户名).在Mongo中存储数据最聪明的方法是什么?我应该只管道JSON,还是有更好的东西?我只使用一台机器用于mongodb,有3个副本.

是否有一种高效(智能)的方式来编写查询或存储我的数据以更好地优化搜索查询?

小智 7

是否有一种高效(智能)的方式来编写查询或存储我的数据以更好地优化搜索查询?

这完全取决于您需要进行哪种查询以及应用程序的使用模式.这将是很简单的存储在蒙戈文档的每个鸣叫包含:发件人,时间戳,文本等.根据什么查询您需要,您将需要在这些字段创建索引(详细信息:HTTP:// WWW .mongodb.org/display/DOCS/Indexes)

对于全文搜索,您可以标记/解析/阻止推文的文本,并使用每条推文存储一个令牌数组,您可以将其编入索引以快速对其进行查询.如果您需要更强大的全文搜索功能,您还可以使用Lucene索引它们并将objectId存储在每个lucene文档中 - 但这会带来基本上具有2个数据存储的复杂性

同样,在不知道用例细节的情况下,这里真的没有正确的答案.