2009-08-13 15 views
2

私はCouchDBのに新たなんだと私は私の考え方は、おそらくまだリレーショナルDB球でも多く知っているが、ここに行くとクエリは:CouchDBの - のparams

ソファーの上に問い合わせるすべてのビューを介して行われることが表示されます。私は一時的な見解は非常に非効率であり、生産では避けるべきであると読んでいます。

私の質問は実際にどのように効果的なクエリをパラメータで(ビューはそれらを受け入れないので)行うのですか?例えば、私がブログサイトをパワーアップするためにCouchを使用するのであれば、「id = 1の投稿から投稿を選択する」と同等の、各投稿ごとに新しいビューを作成する必要があります。

私は結果に全文検索を行うために質問する側でluceneを使うことができると私は理解していますが、これは数字ではなくテキストコンテンツには本当に便利です。

静かなビューのボートロードは非常に簡単に即座に作成することができます。私の心配は、これは、ソファが使用されるべきではなかったと私は何かが不足しているということです。私を啓発してください。

Cheers、Chris。

答えて

3

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

あなたのビューは、任意の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はここで助けてくれるでしょう。それが全文検索のためだけに良いと仮定してはいけません。私はそれをデータベースに対して一般的な複雑なクエリを実行するために使用してきました。