विशेष रूप से, मैं पेजिनेशन करने के लिए लोचदार खोज का उपयोग कर रहा हूं, लेकिन यह प्रश्न किसी भी डेटाबेस पर लागू हो सकता है।स्रोत डेटा अक्सर बदलते समय पेजिनेशन को कैसे संभालें
Elasticsearch पर from
और to
पैरामीटर के साथ विधियों को प्रदान करता है।
तो मैं एक प्रश्न get me the most recent data from result 1 to 10
यह अच्छा काम करता है चलाते हैं।
उपयोगकर्ता "अगले पृष्ठ" क्लिक करता है और क्वेरी है: get me the most recent data from result 11 to 20
समस्या यह है कि दो प्रश्नों के बीच के समय में, 2 नए रिकॉर्ड समर्थन डेटाबेस में जोड़ा गया है, जो पृष्ठवार परिणाम का मतलब है ओवरलैप होगा (पहले पृष्ठ से अंतिम 2 दूसरे पृष्ठ पर पहले दो के रूप में दिखाई देगा)।
इससे बचने के लिए सबसे अच्छा समाधान क्या है? अभी, मैं क्वेरी में एक फ़िल्टर जोड़ रहा हूं जो इसे केवल पिछली क्वेरी के अंतिम परिणाम के बाद परिणामों को शामिल करने के लिए कहता है। लेकिन यह सिर्फ हैकिश लगता है।
विस्तृत स्पष्टीकरण के लिए धन्यवाद। किसी कारण से, मैं सोच रहा था कि स्कैन/स्क्रॉल एक ही चीज़ थी, लेकिन यह स्पष्ट रूप से सच नहीं है! जब आपके पास फ़िल्टर करने के लिए नवीनतम टाइमस्टैम्प की तरह कुछ नहीं है तो स्क्रॉल एक अच्छी पसंद की तरह लगता है। – bradvido
टाइमस्टैम्प फ़िल्टरिंग के लिए दोष यह होगा कि अगर कोई दस्तावेज़ हटाए, तो आप परिणाम के अगले पृष्ठ में वापस आने से दस्तावेज़ को छोड़ सकते हैं? स्क्रॉल एपीआई डॉक्स से – writofmandamus
नोट 'स्क्रॉल वास्तविक समय उपयोगकर्ता अनुरोधों के लिए नहीं है,' – Ben