5

एक सीएमएस में, ऑर्डर करने के साथ नियमित एनडीबी क्वेरी का उपयोग करके ग्राहकों की एक सूची पुनर्प्राप्त की जाती है। नाम, कंपनी का नाम और ईमेल पर फ़िल्टरिंग की अनुमति देने के लिए, मैं कई (कभी-कभी कई) इंडेक्स बना देता हूं। स्थिति आदर्श नहीं थी, लेकिन व्यावहारिक।डेटास्टोर (एनडीबी), खोज एपीआई या डेटा पर विचारों के लिए दोनों का उपयोग करें?

अब (प्रयोगात्मक) Search API है। ऐसा लगता है कि डेटास्टोर (या एनडीबी) से कोई संबंध नहीं है, लेकिन मेरा डेटा पहले से ही है।

मैं पूर्ण पाठ खोज का उपयोग करना चाहता हूं और एक साथ कई क्षेत्रों में फ़िल्टर डालना चाहता हूं, तो क्या मुझे अपना डेटा डेटास्टोर में और खोज एपीआई के लिए दस्तावेज़ों में डेटा के डुप्लिकेट भागों में रखना चाहिए? या, search example suggests के रूप में, डेटास्टोर को पूरी तरह से छोड़ दें।

उत्तर

6

मुझे पूरा यकीन नहीं है कि इसके क्रियान्वयन के लिए अनुशंसित विधि क्या है, लेकिन खोज एपीआई मुख्य रूप से अतिरिक्त, मैन्युअल रूप से प्रबंधित अनुक्रमणिका के रूप में उपयोग करने के लिए डिज़ाइन की गई है। सर्च एपीआई में अपने सभी डेटा को स्टोर करने के लिए अधिकांश स्थितियों में यह आदर्श नहीं है, क्योंकि आप उन खोज फ़ील्ड के साथ आसानी से खोज एपीआई इंडेक्स के आकार को उड़ा सकते हैं जिन्हें आपको फ़िल्टर करने या खोजने की आवश्यकता नहीं है, और न ही इसे अच्छी तरह से डिजाइन करने के लिए डिज़ाइन किया गया है स्थिति जहां नियमित लेखन आवश्यक हैं।

मेरी व्यक्तिगत सिफारिश एनडीबी में अपने सभी डेटा को छोड़ना है, और डिज़ाइन कक्षाओं को खोज एपीआई का उपयोग करके प्रासंगिक खोज योग्य डेटा युक्त दस्तावेज़ बनाने के लिए, दो माध्यमों के बीच स्थिरता बनाए रखने के लिए प्रत्येक बार लिखने के लिए खोज एपीआई संस्करण अपडेट करके डेटास्टोर संस्करण (या कार्यों/क्रॉन्स या एक समान सिस्टम का उपयोग करके यदि आप डेटा लिख ​​रहे हैं) में बनाया गया है। आपको उस संबंधित डेटा के लिए खोज एपीआई दस्तावेजों में फ़िल्टर करते समय यूआई में मौजूद किसी भी डेटा को स्टोर करना चाहिए, क्योंकि मैन्युअल रूप से खोज एपीआई परिणामों में शामिल होना और डाटास्टोर डेटा अनावश्यक रूप से गहन है, और पूरी प्रक्रिया को गंभीर रूप से धीमा कर देगा।

+0

धन्यवाद। यह समस्या के लिए एक बहुत ही व्यावहारिक और उपयोगी दृष्टिकोण है। – kvdb

संबंधित मुद्दे