2012-05-10 18 views
5

私はCouchBaseを非常に読みやすく重いアプリケーションに使用することを検討しています。また、ドキュメントのさまざまな属性と範囲クエリに基づいて検索をサポートする必要があります。CouchBaseの範囲の検索

CouchBaseでは、キー値検索以外の検索も可能ですが、主に特定の範囲内のドキュメントを取得するように見えます。 「ジャンル属性を持つすべてのドキュメントを「冒険」にする」または「作成日が1/1/1から2/1/1までのすべてのドキュメントを提供する」のではなく、2つの指定されたキー間でインデックス化されたすべてのドキュメントを取得する

外部インデックスなしで私が望むものを実現する方法はありますか?

答えて

3

あなたはそこに記述した内容の両方を確実に行うことができます。両方ともCouchbase Server 2.0のビューで行うことになります。

たとえば、日付範囲を検索する必要がある場合の一般的な手法は、ビュー内のマップ関数からJSON配列を放出することです。 [2012、5、11、16、27、41]

ビューをクエリすると、JSON配列が開始キーと終了キーの有効な場所であるため、次のように指定できます。範囲。

同様に、すべての属性を抽出するには、マップ関数からdoc _idを使用してそれぞれの属性を出力します。 Couchbase SDKsのいずれかを使用して、クエリ時にインクルードドキュメントオプションを設定すると、ドキュメントが自動的にフェッチされます。

+0

あなたの答え、いくつかの質問、おそらく愚かなものをありがとう。なぜあなたのサンプル配列は非常に多くの要素を持っていますか?それは[yyyy、mm、dd]ではないでしょうか?また、私は2番目の部分については不明です。ここには例がありますが(http://www.couchbase.com/develop/java/next)、フィルタリングする特定の文書属性をどのように指定しますか? – Kailash

+0

時間、分、秒の要素を追加しました。それだけです。私はあなたの第二の質問が何であるか分かりません。 –

+0

私は今それを得たと思う、非常にありがとう! – Kailash