سؤال

أنا جديد على couchdb وأنا أعلم أن عقلية لا تزال أكثر من اللازم في مجال DB العلائقية، ولكن هنا يذهب:

يبدو أن الاستعلام على الأريكة تتم عبر وجهات النظر. قرأت هذه الآراء المؤقتة غير فعالة للغاية ويجب تجنبها في الإنتاج.

لذلك سؤالي هو حقا كيف يمكن للمرء الاستئصال الفعالة مع المعلمات (مع عدم قبول المشاهدات لهم). على سبيل المثال، إذا كنت تستخدم الأريكة لتشغيل موقع مدونة، فهل يجب علي إنشاء طريقة عرض جديدة لكل منشور ما يعادل "تحديد منشور من المشاركات حيث معرف = 1".

أفهم أنه يمكنني استخدام Lucene جنبا إلى جنب الاستعلام عن perfom بحثا عن نص كامل في النتائج، ولكن هذا مفيد حقا للمحتوى النصي غير أرقام.

أنا سعيد بإنشاء حمولة قارب من وجهات النظر الثابتة لأنها يمكن إنشاؤها ببساطة على الطاير. قلقي هو أن هذا ليس كيف كان من المفترض أن تستخدم الأريكة وأنا أفتقد شيئا ما. نورني.

هتاف، كريس.

هل كانت مفيدة؟

المحلول

طرق العرض تقبل معلمات URL، مفتاح كونه الشخص الذي تبحث عنه. يمكنك حتى الحد حتى عدد الصفوف التي تحصل عليها وفرزها أيضا.

يمكن فهرسة وجهات نظرك عن طريق مفاتيح JSON التعسفي. هذا يعني أنه يمكنك إنشاء طريقة عرض تنبعث من المستندات مثل ذلك، [اسم المستخدم Docid] => Doc. ثم يمكنك الاستعلام عن طريقة العرض هذه http: // url / to / view؟ key = [اسم المستخدم docid].

يمكنك إنشاء طريقة عرض تنبعث منها [تاريخ اسم المستخدم] => DOC. يمكنك الآن الحصول على جميع المستندات من تاريخ معين بين تاريخ معين (باستخدام معلمات STARTKEY و ENDKEY URL).

مثالك على المدونة هو واحد أن CouchDB مناسب بشكل خاص. في الواقع، أعتقد أنه مثال في كتاب Couchdb القادم من O'Reilly.

ومع ذلك، لا تتم معالجة بعض أنواع الاستفسارات بسهولة بواسطة couchdb وحدها. يمكن أن يساعد Couchedb-Lucene هنا. لا تفترض أن هذا هو جيد فقط للبحث النص الكامل. لقد كنت أستخدمها لتشغيل الاستفسارات المعقدة العامة مقابل قاعدة البيانات لتأثير جيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top