कैसे मैंने टेलीग्राम के लिए एक सर्च इंजन बनाया

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

छवि

और फिर AltaVista, Google, Yahoo, Yandex, Aport, Rambler और अन्य दिखाई दिए। और अब, यह पूरी स्थिति टेलीग्राम के साथ दोहराई जाती है, जैसा कि मुझे लगता है। निर्देशिकाएं हैं, लेकिन लगभग कोई खोज नहीं है।
बेशक, टेलीग्राम में ही एक खोज है, लेकिन यह केवल उन समूहों, चैनलों और पत्राचार के साथ काम करता है जिन्हें आपने पहले ही खुद से जोड़ा है। समूहों और चैनलों के लिए कोई वैश्विक खोज नहीं है।
और जब से वह वहां नहीं है, तो ऐसा क्यों नहीं किया, मैंने सोचा? यह सिर्फ इतना है कि मेरे हाथ लंबे समय से एलिस्टिक्स खोज की कोशिश कर रहे हैं, और यहां मौका बदल गया।

यह विचार सरल है - टेलीग्राम की शक्ति पर "बैठ जाओ" करने के लिए, और चैनलों और समूहों को पार्स करके अपने खेत को करने के लिए नहीं। ऐसा करने के लिए, हम एक बॉट बनाते हैं जो केवल समूह के सभी संदेशों को पढ़ता है और इसे Elasticsearch में सूचकांक में जोड़ता है। खैर, फिर पहले से ही वेब इंटरफेस में या बॉट के माध्यम से, हम सभी समूहों और चैनलों की खोज कर सकते हैं जहां इस तरह का एक बॉट है।

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

खैर, कम से कम समूहों के साथ ऐसी समस्याएं नहीं थीं!

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

मैं काम के तकनीकी घटक के बारे में बात करना चाहता था, लेकिन मैंने महसूस किया कि उन्होंने एक दर्जन बार पहले ही बॉट्स लिखने के बारे में लिखा था, इलास्टिक्सर्च के बारे में खुद भी बहुत सारे लेख हैं, और मेरे पास उपयोग की कोई विशेषताएं नहीं हैं - बस पूर्ण-पाठ खोज। Php से elasticsearch के साथ काम करने के लिए कैसे सरल भी लगता है - मैंने इसे संगीतकार से स्थापित किया और जाना।

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

लेकिन मुझे उम्मीद है कि टेलीग्राम-मूवर्स अपने समूहों में बॉट जोड़ देंगे और इसका आधार काफी बढ़ जाएगा। यहाँ @TelegaIndexBot बॉट है, यहाँ tgindex.ru वेब इंटरफ़ेस है - स्वागत है!

खैर, निश्चित रूप से, आलोचना और अन्य इच्छाओं का स्वागत है।

ps ने "चारों ओर खेलने" के लिए एक समूह बनाया। t.me/telegaindex - यदि आप इसमें टेक्स्ट जोड़ते हैं, तो यह बॉट द्वारा अनुक्रमित होता है। आप कुछ प्रयोग कर सकते हैं।

Source: https://habr.com/ru/post/hi484368/


All Articles