2

コミュニティ フォーラムをスクレイピングし、各投稿から情報を抽出する Python スクリプトを使用して作成した 78,000 個の個別の JSON ファイルがあります。次のように、単純なキーと値のペアで構成されます。

{
    "name": "Chris Wilson",
    "item": "Darth Vader speaker phone",
    "price": "$100",
    "notes": "Great condition!"
}

一部のキーはすべてのファイルに共通です (たとえば、 および )。その他の多くのキーは、一部のファイルのみに表示されますnameprice(私がクロールしているサイトでは、ユーザー定義フィールドが許可されています。) 必要なフィールドで検索、並べ替え、およびグループ化できるようにしたいと考えています。

通常、各ファイルを SQLite データベースにロードし、そこからクエリを実行します。多数のフィールドを考えると、これは非常に面倒です。

NoSQL フレームワークについてほとんど理解していないことから、これは従来のリレーショナル データベースよりもドキュメント ベースのシステムに適したプロジェクトのように思えます。私は CloudDB について学ぼうとしましたが、見つけることができるドキュメントのほとんどは、事前に作成されたドキュメント自体ではなく、空のデータベースから始めることを前提としています。

多数の辞書オブジェクトにインデックスを付けてクエリを実行するための、適切で合理的に単純な (または少なくとも十分に文書化された) ソリューションはありますか? 私は Python の方が好きですが、喜んで Node などに挑戦します。

ありがとうございました!

PS あのダース・ベイダーの電話に興味があれば教えてください。

4

2 に答える 2

2

これは、MongoDB の完璧な使用例のように思えます。MongoDB をセットアップし、JSON ファイルを直接コレクションにインポートします。mongoimport --file <filename>

Python のサポートも充実しています。

いくつかのドキュメント リンク:

http://docs.mongodb.org/manual/reference/mongoimport/#cmdoption-mongoimport--file

http://docs.mongodb.org/ecosystem/drivers/python/

于 2013-04-18T15:59:56.367 に答える