2

私は CouchDB を初めて使用し、私の考え方がまだリレーショナル DB の領域に偏りすぎていることはわかっていますが、次のようになります。

Couch でのクエリはすべてビューを介して行われるようです。一時ビューは非常に非効率的であり、本番環境では避けるべきであると読みました。

したがって、私の質問は、パラメーターを使用して効果的なクエリを実行する方法です (ビューはそれらを受け入れないため)。たとえば、ブログ サイトを強化するために Couch を使用する場合、「id=1 の投稿から投稿を選択する」と同等の新しいビューを投稿ごとに作成する必要があります。

クエリと一緒に lucene を使用して、結果に対して全文検索を実行できることは理解していますが、これは数値ではなくテキスト コンテンツに対してのみ有用です。

静的ビューはその場で非常に簡単に作成できるので、大量の静的ビューを作成できることをうれしく思います。私の心配は、これが Couch の本来の使い方ではなく、何かが足りないということです。お気軽に教えてください。

乾杯、クリス。

4

1 に答える 1

3

ビューは URL パラメーターを受け入れます。キーは探しているものです。取得する行数を制限してソートすることもできます。

ビューは、任意の JSON キーでインデックス付けできます。これは、[username docid] => doc のようにドキュメントを発行するビューを作成できることを意味します。次に、このビューを でクエリできますhttp://url/to/view?key=[username docid]

[username type date] => doc を発行するビューを作成できます。特定の日付の間の特定のすべてのドキュメントを取得できるようになりました (startKey および endKey url パラメーターを使用)。

あなたのブログの例は、CouchDB が特に適しているものです。実際、これは O'reilly の近日公開予定の CouchDB ブックの例だと思います。

とはいえ、ある種のクエリは CouchDB だけでは簡単に処理できません。ここではcouchdb-luceneが役立ちます。全文検索にのみ適しているとは思わないでください。私はそれを使用して、データベースに対して一般的な複雑なクエリを実行して効果を上げてきました。

于 2009-08-13T21:44:01.070 に答える