0

私はCouchdb初心者です。

製品で "SQL like" を実行するためのビューを既に作成しています (キーはすべてコードと説明の単語です)。

function (doc) {
    if (doc.type === 'product') {
        var words = { };
        var text = doc.code + ' ' + doc.description;
        text.replace(/\w+/g, function(word) {
            words[word.toLowerCase()] = true;
        });
        for (var w in words) {
            emit(w, doc);
        }
    }
}

私の製品も特定のカテゴリです。ユーザーが特定のカテゴリから Productso を取得することを許可し、そのサブセットにその LIKE を適用したい

製品カテゴリで 2 番目のビューを実行すると、カテゴリによるフィルターが解決されます

質問

これを行うcouchdbの方法はどれですか?

私が見るオプションは次のとおりです。

  1. キーが複合 [category, word] であるlike_by_categoryという名前のビューを作成します。

  2. カテゴリごとに最初の表示フィルターを実行し、後で単語ごとにたものを実行し、両方の結果セットを手動で結合して、両方の結果を確認します

どんなロープでも、この穴から抜け出すのに役立ちます!

オプション1は単なる理論であり、ページネーションを簡単に行えるかどうかはわかりません.

オプション2も単なる理論ですが、特にhttp://www.pouchdb.comを実行しているモバイルデバイスで、これらの2つのビュー実行を実行するパフォーマンスについてはわかりません

4

1 に答える 1