私は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の方法はどれですか?
私が見るオプションは次のとおりです。
キーが複合 [category, word] であるlike_by_categoryという名前のビューを作成します。
カテゴリごとに最初の表示フィルターを実行し、後で単語ごとに似たものを実行し、両方の結果セットを手動で結合して、両方の結果を確認します
どんなロープでも、この穴から抜け出すのに役立ちます!
オプション1は単なる理論であり、ページネーションを簡単に行えるかどうかはわかりません.
オプション2も単なる理論ですが、特にhttp://www.pouchdb.comを実行しているモバイルデバイスで、これらの2つのビュー実行を実行するパフォーマンスについてはわかりません