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

Python 如何在MongoDB中高效地存储和查询原始JSON流?,python,mongodb,twitter,pymongo,Python,Mongodb,Twitter,Pymongo,我希望通过Twitter或NYTimes在MongoDB中高效地存储原始JSON流,以便以后可以使用Lucene或Hadoop索引NYTimes文章或Tweets/用户名的数据。在Mongo中存储数据最聪明的方法是什么?我应该直接输入JSON,还是有更好的方法?我只为mongodb使用一台机器,有3个副本集 是否有一种高效、智能的方式来编写查询或存储数据以更好地优化搜索查询 是否有一种高效、智能的方式来编写查询或存储数据以更好地优化搜索查询 这完全取决于您需要进行何种查询以及应用程序的使用模式。

我希望通过Twitter或NYTimes在MongoDB中高效地存储原始JSON流,以便以后可以使用Lucene或Hadoop索引NYTimes文章或Tweets/用户名的数据。在Mongo中存储数据最聪明的方法是什么?我应该直接输入JSON,还是有更好的方法?我只为mongodb使用一台机器,有3个副本集

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

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

这完全取决于您需要进行何种查询以及应用程序的使用模式。 将每条tweet存储在一个Mongo文档中非常简单,该文档包含:发送者、时间戳、文本等。 根据需要进行的查询,您需要在这些字段上创建索引更多信息:


对于全文搜索,您可以标记化/解析/阻止tweet的文本,并为每条tweet存储一个标记数组,您可以对其进行索引以快速查询。 如果您需要更强大的全文搜索功能,您还可以使用Lucene为它们编制索引,并将objectId存储在每个Lucene文档中,但这会增加基本上有两个数据存储的复杂性

同样,如果不知道用例的细节,这里真的没有正确的答案

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

这完全取决于您需要进行何种查询以及应用程序的使用模式。 将每条tweet存储在一个Mongo文档中非常简单,该文档包含:发送者、时间戳、文本等。 根据需要进行的查询,您需要在这些字段上创建索引更多信息:


对于全文搜索,您可以标记化/解析/阻止tweet的文本,并为每条tweet存储一个标记数组,您可以对其进行索引以快速查询。 如果您需要更强大的全文搜索功能,您还可以使用Lucene为它们编制索引,并将objectId存储在每个Lucene文档中,但这会增加基本上有两个数据存储的复杂性


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

对于全文搜索,您可以标记化/解析/阻止推文的文本,并为每条推文存储一个标记数组,您可以对其进行索引以快速查询。这是一个非常好的建议,谢谢!对于全文搜索,您可以标记化/解析/阻止tweet的文本,并为每条tweet存储一个标记数组,您可以对其进行索引以快速查询。这是一个非常好的建议,谢谢!该示例使用PHP,但您可能会发现这一点很有用:该示例使用PHP,但您可能会发现这一点很有用: