मैं फ़ायरबेस का उपयोग अपने अंतिम स्कैन अक्षांश और देशांतर के साथ उपयोगकर्ताओं को स्टोर करने के लिए कर रहा हूं।पास के स्थानों के लिए क्वेरी
कोई प्रविष्टि इस तरह दिखता है:
"Bdhwu37Jdmd28DmenHahd221" : {
"country_code" : "at",
"firstname" : "John",
"gender" : "m",
"lat" : 11.2549387,
"lon" : 17.3419559
}
जब भी कोई उपयोगकर्ता एक विशिष्ट "खोज" बटन दबाता है, मैं अपने Firebase समारोह व्यक्ति जो अनुरोध भेजा के सबसे नजदीक लोगों को लाने के लिए चाहते हैं।
चूंकि फायरबेस केवल एक फ़ील्ड के बाद क्वियरिंग की अनुमति देता है, इसलिए मैंने देश के क्षेत्र को जोड़ने के लिए कुछ सीमा-प्रतिबंध और उस क्षेत्र के लिए पूछताछ करने का फैसला किया। लेकिन जब भी मैं एक विशिष्ट देश के हर उपयोगकर्ता को लोड करता हूं और फिर उसी देश में दिए गए उपयोगकर्ता और अन्य सभी उपयोगकर्ताओं के बीच छोटी दूरी की जांच करता है तो यह अभी भी बहुत धीमा है।
पहले से ही 5 उपयोगकर्ताओं के साथ, परिणाम प्राप्त करने के लिए कार्य 40 सेकंड की तरह लगता है।
मैंने यौगिक इंडेक्स के बारे में भी पढ़ा है, लेकिन मुझे किसी भी तरह अक्षांश और देशांतर दोनों क्षेत्रों के लिए अक्षांश और क्वेरी को जोड़ना होगा।
क्या यहां कोई दूसरा और तीसरा प्रश्न शामिल करने का कोई तरीका है (उदा। उसी देशकोड की खोज करें, और फिर समान समानता और अक्षांश के लिए) या क्या मुझे इसे अपने सर्वर कोड के अंदर हल करना है?
https://github.com/firebase/geofire – cartant