1

データストアは、私がやりたいことの多くをサポートしていないため、GAE からの脱出を探していました。

そのため、CouchDB (とりわけ) を調べましたが、Cloudant で見つけた REST インターフェースとホスティング オプションが本当に気に入っています。

しかし、グーグルで検索して見つけたドキュメントを読んでも、それが適切かどうかはまだわかりません。ですから、誰かがより多くの洞察を持っていることを期待してここに来ました。

私は Web アプリを書いていますが、やりたいプロジェクトの多くには、次のようなクエリが含まれます。

user-input-lat/long 境界ボックス内にあり、start-time が user-input-time-1 より小さく、end-time が user-input-time-2 より大きく、すべてのタグがユーザー入力タグのリスト。

それは疑似コードでさえありませんが、とにかく意味があることを願っています。

「CouchDBではできない」を探しているだけではありません。なんらかの説明と、おそらく「タグなしで生活できるなら、これを行うことができます」のようなものです。

Cloudant サービスを使用したいので、GeoCouch は明らかに問題外ですが、lucene のように動作するはずですが、クエリが遅いということですか?

お分かりのように、私はここで少し混乱しているので、私を正すために最善を尽くしてください.

4

1 に答える 1

0

タグについては言及せず(それ自体がすでに問題になっています)、説明するのは多次元クエリです。いくつかの「座標」(緯度、経度、開始時間、終了時間)があり、それぞれの範囲を提供しますこれらの座標。

それ自体では、CouchDB は多次元クエリをまったく実行できません。つまり、1 つの座標で 1 次元クエリしか取得できません。

タグは確かに可能ですが、リストに少なくとも 1 つのタグが含まれるドキュメントが必要か、リストにすべてのタグが含まれるドキュメントが必要かによって異なります。最初のケースは簡単です (バルク API を使用してタグごとに 1 つのクエリを実行します)。2 番目のケースは大量のメモリを必要とする可能性があります (ドキュメントに N 個のタグがある場合、可能なすべてのタグに一致させるには2個の N-1タグ セットを発行する必要があります)。そのため、ドキュメント内のタグの数またはクエリ内のタグの数に上限を設定する必要があります)。

Lucene では、多次元およびキーワード ベースのクエリが可能ですが、そのパフォーマンスは保証できません。

于 2012-06-26T14:01:03.930 に答える