Bagaimana saya melakukan mesin pencari untuk Telegram

Dahulu kala di galaksi yang jauh, jauh , ketika pohon-pohon besar, dan internet kecil, tidak ada dominasi mesin pencari. Mereka baru saja mulai muncul dan agak sederhana dan "bodoh". Sebuah perkembangan signifikan diberikan pada direktori, di mana berdasarkan topik-topiknya disebutkan situs apa di Internet milik Anda ini. Saya pergi ke bagian, menemukan situs, menikmati.

gambar

Dan kemudian AltaVista, Google, Yahoo, Yandex, Aport, Rambler, dan lainnya muncul. Dan sekarang, seluruh situasi ini diulangi dengan Telegram, seperti yang tampak bagi saya. Ada direktori, tetapi hampir tidak ada pencarian.
Tentu saja, ada pencarian di Telegram itu sendiri, tetapi hanya bekerja dengan grup, saluran dan korespondensi yang telah Anda tambahkan ke diri Anda sendiri. Tidak ada pencarian global untuk grup dan saluran.
Dan karena dia tidak ada di sana, mengapa tidak melakukannya, saya pikir? Hanya saja tangan saya sudah lama menggaruk tangan untuk mencoba Elasticsearch, dan di sini kesempatannya muncul.

Idenya sederhana - untuk "duduk" di atas kekuatan Telegram, dan tidak melakukan pertanian Anda dengan mengurai saluran dan grup. Untuk melakukan ini, kami membuat bot yang hanya membaca semua pesan dalam grup dan menambahkannya ke indeks di Elasticsearch. Nah, kalau sudah di antarmuka web atau melalui bot, kita dapat mencari semua grup dan saluran di mana bot tersebut berada.

Dan sudah pada tahap implementasi, pemikiran cemerlang ini mengalami beberapa perubahan. Ternyata, Anda dapat menambahkan ke bot di saluran hanya sebagai administrator. Dan administrator tidak dapat ditolak semua tindakan. Ternyata untuk menambahkan bot orang lain ke salurannya, dia harus setidaknya mengizinkan sesuatu. Dan di sana semua izinnya cukup sensitif. Jadi di sini saya mengalami beberapa kesulitan. Yaitu jelas bahwa adalah mungkin untuk menyetujui keyakinan dan keyakinan pribadi. Dan, misalnya, "Mengubah profil saluran" bukanlah hak istimewa yang mengerikan, tetapi mulai dari posisi saluran yang solid, Anda juga tidak ingin memberikannya kepada siapa pun. Jadi di sini saya meminta bantuan komunitas - apakah ada cara untuk mengatasi pembatasan ini?

Ya, setidaknya tidak ada masalah dengan kelompok!

Tidak sulit untuk membuat bot, dengan pencarian elastik saya juga tahu dengan cepat, butuh beberapa hari. Tetapi ada beberapa masalah dengan pencarian morfologis Rusia di versi terbaru Elasticsearch. Saya harus merokok manual tentang topik menghubungkan kamus hunspell Rusia. Indeksnya cukup sederhana. Teks pesan, nama saluran / grup, nomornya, id pesan dan pengguna diperhitungkan. Yah, saya secara terpisah membuat indeks di mana permintaan ke bot ditambahkan, untuk statistik.

Saya ingin berbicara tentang komponen teknis dari pekerjaan itu, tetapi saya menyadari bahwa mereka telah menulis tentang menulis bot sudah belasan kali, tentang elasticsearch itu sendiri juga ada banyak artikel, dan saya tidak memiliki fitur penggunaan - hanya pencarian teks lengkap. Cara bekerja dengan elasticsearch dari php tampaknya juga sederhana - saya menginstalnya dari komposer dan pergi.

Hasilnya, sistem ini ternyata sangat sederhana, cukup mudah diukur, dan mudah-mudahan bermanfaat. Jelas bahwa sekarang hanya beberapa grup telah ditambahkan ke bot dan Anda tidak boleh mengandalkan pencarian yang relevan.

Tapi saya berharap telegram-movers akan menambahkan bot ke grup mereka dan basisnya akan meningkat secara signifikan. Inilah bot @TelegaIndexBot , berikut adalah antarmuka web tgindex.ru - selamat datang!

Yah, tentu saja, kritik dan harapan lainnya diterima.

ps membuat grup untuk "bermain-main". t.me/telegaindex - jika Anda menambahkan teks ke dalamnya, itu diindeks oleh bot. Anda dapat melakukan beberapa percobaan.

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


All Articles