私は一般的に、CouchDB、Map/Reduce、および NoSQL にかなり慣れていません。
Node.js/CouchDB アプリケーションで非常に基本的な検索を実装する方法を教えていただければ幸いです。
CouchDB ドキュメント内の特定のテキスト要素を検索しようとしています。
カウチ内の私のドキュメントのほとんどは、以下で説明する同様の形式です。
{
"_id": "b001729a2c5cf4100ea50a71ec04e20b",
"_rev": "1-8928ea122d80fd5c1da1c22dfc6ce46e",
"Approved To Publish": "false",
"Article Body": "has retained the Carbon Trust Standard for energy and carbon management.Following a demanding audit process that took place in December 2012, was awarded recertification for the Carbon Trust Standard.This certificate is a mark of excellence in recognition of how well we measure, manage and reduce our carbon emissions.",
"Headline": "Delight retains Carbon Trust Standard"
}
私の検索キーは、たとえば「カーボン トラスト」、「排出量」、「優秀な評価」などです。
私が持っているのは、POST リクエストの Node.js アプリケーションのリクエスト本文で使用する一時的なマップ関数ですが、それは正しいアプローチではないと確信しており、CouchDB に保存されたビューであると予想されます.
マイマップ機能:
function (doc) {
if ('Headline' in doc) {
if (doc['Article Body'].search(/" + req.body.jsonValue + "/i) !== -1
|| doc.Headline.search(/" + req.body.jsonValue + "/i) !== -1) {
var key = doc.Headline,
value = doc;
emit(key, value);
}
}
}
アプローチを改善するために何をする必要があるか、または不明な点がある場合はお知らせください。
よろしく