O'z qidirish mexanizmi. Qidiruv mexanizmi qanday yoziladi?

Yo'riqnoma

Qidiruv tizimingizni uch qismga bo'ling. Birinchi qism PHP-da yozilgan kelajakdagi veb-qidiruv tizimining interfeysi. Ikkinchi qism - sahifalar haqidagi barcha ma'lumotlarni saqlaydigan indeks (My SQL ma'lumotlar bazasi). Uchinchi qism - veb-sahifalarni indekslaydigan va indekslarini indekslaydigan qidiruv robotidir, bu Delphi tilida amalga oshiriladi.

Interfeysni yarataylik. Index.php faylini yarating. Buni amalga oshirish uchun sahifani jadvallar yordamida ikkita qismga bo'ling. Birinchi qism qidiruv shaklidir, ikkinchisi esa qidiruv natijalari. Yuqorida, get usuli yordamida index.php fayliga ma'lumot yuboradigan ariza yarating. U uchta elementni o'z ichiga oladi: matn maydoni va yana ikkita tugma. So'rovni yuborish uchun bitta tugma kerak, ikkinchisi - maydonni tozalash uchun (bu tugma ixtiyoriy).

Matn qutisiga "qidirish" nomi, birinchi tugma (so'rovni yuborgan) nomi "Qidiruv" deb nom bering. Formaning nomini "form1" deb qoldiring.

Ma'lumotlar bazasiga ulanish uchun konfiguratsiya faylini ulang.

"config.php" ni kiritish;

"Search" tugmasini bosilganligini tekshiring.

(agar "Izlash" tugmasi bosilmasa kodni kiritib qo'yish kerak) (agar "Search" tugmasi bosilmasa, ijro etiladigan kod)

Agar tugma bosilsa, qidiruv so'rovining mavjudligini tekshiring.

if (isset ($ _ GET ["qidirish"])) ($ search = $ _ GET ["qidirish"];)

Agar qidiruv so'rovi bo'lsa, qidiruv so'rovining matnini $ search o'zgaruvchiga belgilang.

agar ($ search =\u003e "&& strlen ($ search)\u003e 2) (ma'lumotlar bazasi qidirish kodi) else (echo" Bo'sh qidirish so'rovi o'rnatilsa yoki qidirish satrida 3 belgidan kichik bo'lsa. ";)

Qidiruv so'rovi yuqori holatga mos keladigan bo'lsa, qidiruv buyrug'ining o'zi ishlaydi.

Printf qidiruv natijalarini ko'rsatadigan pastadir ishga tushirish.
Hammasi shu. Agar kerakli ma'lumotlarga ega bo'lsangiz, kerakli elementlarni osongina qidiruv tizimiga qo'shishingiz va uni yaratish uchun o'zingizning algoritmini yaratishingiz mumkin.

Ommabop veb-saytlar nafaqat original dizayn, qiziqarli tematik mazmun, balki ishlab hizmatlar bilan ham foydalanuvchilarni jalb qiladi. Odamlar axborot olish uchun internetga borishadi, har kuni ularni qiziqtiradigan materiallarni izlaydi. Shuning uchun yaratilish mantiqan qidiruvi   ochiq saytfoydalanuvchilarga qo'l bilan tanlangan resurslardan kerakli narsalarni tezda topish imkoniyatini beradi.

Sizga kerak bo'ladi

  • - brauzer;
  • - Internetga ulanish;
  • - sayt sahifalarining tarkibini yoki shablonlarini tahrirlash huquqi.

Yo'riqnoma

Google texnologiyalari asosida maxsus qidiruv tizimini yaratishni boshlang. Qidiruv tizimini boshqarish xizmati paneliga kiring. Brauzerda sahifani manzil bilan oching http://www.google.com/cse/. Tizim bilan ishlash uchun Google hisobingizdan foydalaning. "Search user system yaratish" tugmachasini bosing. Agar siz hozir tizimga kirmasangiz, "Login" tugmasini bosing. Formadagi hisob ma'lumotlarini kiriting va "Logik" tugmasini bosing. Agar birgalikda Google hisobingiz bo'lmasa, "Hozirda hisob yaratish" havolasini bosish va taklif qilingan amallarni bajarish uchun bitta yarating.

Yaratiladigan maxsus qidiruv tizimining asosiy parametrlarini kiriting. "Ism" va "Sharh" maydonlarini to'ldiring, "Til" ochiladigan ro'yxatidagi interfeys tilini tanlang. "Qidiruv joylari" matn qutisiga yaratilgan tizim yordamida qidiruv natijalarida taqdim etiladigan resurslar ro'yxatini kiriting. Keyingi tugmasini bosing.

Saytda qidiruv tizimini o'rnatish uchun JavaScript-kodni oling. Joriy sahifadagi matn oynasidagi barcha tarkibni tanlang. Tanlangan kontentni clipboardga nusxalash va vaqtinchalik faylga saqlash.

Agar kelajakda pochta serveri haqida qaror qilsangiz, elektron pochta manzilini ro'yxatdan o'tkazishga kirishingiz mumkin. Har qanday portalda ro'yxatga olish jarayoni bir xil bo'lib, elektron pochta parolingizni unutib qo'ysangiz, anketani to'ldirish va maxfiy savolni ko'rsatishni taklif qiladi. So'rovnomani mas'uliyatli tarzda to'ldirishga yondashish kerak, chunki sizning pochtaingiz buzilgan bo'lsa, siz ro'yxatdan o'tkazuvchiga anketa ma'lumotlari bilan ta'minlashingiz kerak bo'ladi. Shuning uchun agar siz taxallusni olishni yoki qasddan soxta ma'lumotlardan foydalanishni qaror qilsangiz, uni xavfsiz joyda saqlang.

E'tibor bering

E-mail, odatda, bepul shartlarda taklif etilishi kerak. Biroq, bu saytni saytning ma'lum bir oylik abonent to'lovi uchun chiroyli va alohida domen nomi va ko'plab qo'shimcha funktsiyalar bilan amalga oshiradi. Pochta qutisini sotib olishdan oldin, bepul xizmatlarning barcha imkoniyatlarini hisobga oladigan bo'lsak, undan keyin tijorat takliflarini qabul qilishingiz kerak.

Yaxshi maslahat

Pochta serveri tanlashda, pochta xizmatini taklif qiluvchi mashhur portallarga alohida e'tibor bering. Odatda bunday portallar vaqt sinovidan o'tadi va ishonchlilik va funksionallikni kafolatlaydi.

Ishlashning ishonchliligini oshirish sayt, saytdagi ma'lumotlarning xavfsizligi, ishtirokni oshirish sayt, saytdagi yukni kamaytirish va h.k. qilish bir oyna sayt. Ta'kidlash joizki, asosiy manba bir necha sabablarga ko'ra mavjud bo'lmasa, tashrif buyuruvchi zahira resursga, ya'ni saytga kiradi bir oyna.

"Webmastering" sohasidagi ko'plab yangi kelganlar (keling, buni aytaylik) bir nuqtada "ajoyib" g'oyaga ega bo'lishadi va "mening qidiruv tizimimni qo'zg'atishga emas"! reklama sotish, talonni kesish! ". Men buni tan olaman, men ham ... 3 marta bor edi.

Qidiruv vositasi runet - Yandex katil

Mavzular bo'yicha ma'lumot to'plash bilan, Aport va Yandeksda topgan hamma narsalarni o'rganib chiqa boshladilar. Men o'rgimchaklar bilan bir nechta bepul motorni tushirdim, ammo "bilim" etarli emas edi, hatto ularni qo'yish ham mumkin edi. Ixtiro ixtiyori kundalikdir: saytlar bazasida izlash bilan katalog skriptini (ma'lumotlar bazasidan tashqari, txt fayllarisiz) olib, saytlar bilan to'ldirishni boshladim. Avval o'zim men keyin moderatorni yolladim. Siz nima deb o'ylaysiz? Albatta, bu g'oyani amalga oshira olmadi, lekin kitoblar asosida qidirish mexanizmiga olib keladigan g'oyalar paydo bo'ldi.

Kitob qidirish

Bir necha RuNet-da (2004-2007 yillar oralig'ida taxminan) bir nechtagina ikkita kitobni olib bo'ldim: Kolibri va Bolero, tanlovning sababi oddiy - har ikki holda ham bu do'konlardan ma'lumotlar bazalarini sherik interfeysdan yuklab olish mumkin edi. Ma'lumotlar bazalarida juda kam ma'lumotlar bor edi: kitob nomi, muallif, do'kon saytidagi manzil. Lekin, bu katalog + qidiruvi yaratish uchun etarli edi. Va kitoblar chiqarildi va izohlar (do'konlar do'konlaridan real vaqtda tahlil qilindi, ha, men hatto keshlash haqida shubha qilmadim, shuningdek, avtomatik qayta yo'naltirishni ishlatmadim ...).

Kitob qidirish mexanizmi muvaffaqiyat qozonmagan, ammo katalog Yandex trafigidan olingan neft tovushiga to'g'ri keladi, kitoblar sotiladi. Xaridlarning katta qismi pochta orqali, etkazib berishda naqd qilindi, shuning uchun hisobga kelish uchun oylar kerak bo'ldi.

Foydalanuvchining profili qotil

Mening ishimning asosiy yo'nalishi "burjunete" edi, ayniqsa, men PPK bilan ishladim, asosan, Yumax bilan, va men ularni keyingi qidiruv tizimining "dvigatellari" sifatida tanladim. PHP bilan qurollangan (yoki aksincha, kitob katalogini parsherrlarini qayta tuzish), men foydalanuvchining so'roviga, rasmlariga va boshqalarga (masalan, hozirgi kabi) chiqishiga qo'shimcha ma'lumotni o'rgandim.

Keyin go'zal edi. Qidiruv mexanizmlari: MSN (hozir Bing) va Google "qidiruv qidiruvi" ni chiqarish natijalarini indekslashni boshladilar va bu o'z navbatida Yumax tomonidan to'langan pullar bilan baxtli bo'lishiga yordam berdi.

Va mening hamkasblarim Dora deb o'ylaganda, men bunday qidirish mexanizmlarini rivodladim: turli xil dizaynerlar, qo'shimcha ma'lumot uchun turli manbalar. Nima uchun yo'lboshchining yo'lini ko'rsatib, uni qayta yo'naltirishsiz taqiqlash uchun xavf tug'diradigan, masalan, mini-saytlar nomli mini-saytlarni nima qilish kerak? Oq eshiklar, ularni endi deyishadi. Idila uzoq davom etdi - bir yildan kamroq. Dastlabki algoritmlarni msnga almashtirish, keyin esa Google shu kabi echimlarni topdi (aniqrog'i, ularni ancha kam samaraliroq qildi).

MSNdagi "tizim" ning qulashi paytida men "qayg'u bilan" men taqiqlangan domenlardan biri - saytni oldi va oldindan bir forumda yoki reklama agentligining saytida ishlagan blogni topshirdi.

3 marta! 3 marotaba shunga o'xshash tus oldi: ba'zi odamlar o'z xatolaridan ham o'rganmaganlar :)

Bizning xabarnomamizga obuna bo'ling va blogga kiritilmagan narsalarni oling, e'lon va tematik to'plamlar + bir necha qo'llanmalar (abonentlarni yig'ish va ma'lumotni sotish).

Yandex yoki Google kabi qidiruv tizimlarining qanday tashkil etilganligi haqida hech o'ylab ko'rganmisiz? Agar qidiruv tizimini noldan yozish vazifasi bo'lsa, nima bilan boshlaysiz? Albatta, sizning ko'plaringiz uchun ichki qidiruv tizimi mavjud bo'lgan oddiy kontent saytlari yozgan, va qidiruv juda sodda - SQL sintaksisining o'xshash buyrug'i bilan amalga oshirildi. Sizningcha, Yandeks shu tarzda ishlaydi? 🙂

Zamonaviy qidirish mexanizmlarida qo'llaniladigan barcha mexanizmlar haqida gapirish, aniqki, bitta post uchun aniq vazifa emas (va men 🙂 haqida juda ko'p gapirib berolmayman), shuning uchun men sizlarga qidiruv tizimlarining eng muhim va noma'lum qismi - indeks haqida gapirib beraman. Lekin tezda shoshilmaylik.

Umuman olganda, butun qidiruv tizimi 3 qismga bo'lingan: foydalanuvchi interfeysi, qidiruv agenti va indeks.

Foydalanuvchi interfeysi har kimga tanish - google.com, ya.ru. Odatda, bu faqat qo'ng'iroqlar qatori. Qidiruv agenti - saytlar orqali tarmoqda, ular bilan matnli sahifalar va urllarni to'playdigan dastur. Qidiruv agenti to'plangan ma'lumotni indeksda saqlaydi.
  Eng muhimi, indeks yoki ma'lumotlar bazasi.

  Indeks, qidiruv agentlari - Internet sahifalari tomonidan to'plangan barcha ma'lumotlarni saqlaydi.

Odatda, agentning vazifasi - ma'lumot to'plashdir, u sayt sahifasiga tashrif buyuradi, u yerdan matnni oladi, u bilan bog'lanishni chiqaradi va matnni indeksga yuboradi. Ushbu momentni batafsilroq ko'rib chiqish kerak, chunki bu qidiruv tizimining asosiy ishidir.

Indeksda qanday ma'lumot saqlanadi? Indeks jadvali tuzilishi nima? Bu qidiruv tizimining asosiy qismlaridan biridir.

Agar qidiruv tizimiga juda nomutanosib qarasak, indeksni uchta jadvalga bo'lish mumkin: lug'at, hujjatlar va havolalar.

Tushuntirish uchun, uch jadvalni tasavvur qiling:

so'zlar (lug'at):
  id nomi

hujjatlar (hujjatlar):
  id, hujjat

va sohalar bilan aloqalar:
  word_id, doc_id

Sahifaning matnini indeksga qo'shishdan oldin, qidiruv tizimi so'zlarni buzib tashlaydi. Hujjatdagi so'zlar ro'yxatini olgandan so'ng, u hali mavjud bo'lmagan so'zlarini (so'zlar jadvalini) qo'shib qo'yadi. Va hujjatning o'zi hujjat jadvalida saqlanadi.
  Shundan so'ng, "Word Document" havolalari aloqalar jadvaliga qo'shiladi va qaysi so'z qaysi hujjatda mavjudligini aniqlaydi.

Qidiruv mexanizmlarida qo'llaniladigan keyingi murakkab jarayon foydalanuvchi tomonidan so'ralgan ma'lumotni saralash va saralashdir.

Google.com saytiga kirib, "php" uchun qidiruvni kiritganingizdan so'ng, sizning so'rovingiz bilan bog'liq hujjatlar ro'yxatini ahamiyatga ega tartibda ko'rsatish uchun juda murakkab mexanizm ishga tushiriladi.

Bu qanday amalga oshiriladi? Bu juda qiyin. Birinchidan, qidiruv tizimi tegishli hujjatlarni - bu so'zlar paydo bo'lgan hujjatlarni tanlashi kerak. Yuqorida keltirilgan jadvallar yordamida, umuman olganda bu qanday amalga oshirilganini tasavvur qilish mumkin. Lekin tartibida (buyurtma) har qidiruv vositasi o'z-o'zidan hal qiladigan muammolarni allaqachon boshlaydi.

U juda ham murakkab kümelenme va tasniflash algoritmalarını foydalanadi, barcha hujjatlar guruhlarga bo'linadi va har bir hujjat uchun bir kategoriya belgilaydi. Zotan, ushbu toifalarga asoslangan holda, har bir hujjatning dolzarbligi darajasida ba'zi ma'lumotlar paydo bo'ladi. Ushbu faktordan tashqari, zamonaviy qidiruv tizimlarida ham ko'plab boshqalar hisobga olinadi.

Internetdagi qidirish mexanizmlarini (google, yandeks, va boshqalar) nisbatan kichik ma'lumot olish tizimlaridan farqlash to'g'ri bo'lishi kerak. Birinchisi juda katta bo'lib, ularning tarkibi juda murakkab.

Sphinx va lucen kabi loyihalar kichik qidiruv tizimlariga taalluqli.

Hammasi shu. Bu qidiruv tizimiga kichik va foydali ekskursiya. 🙂

Qo'shimcha ma'lumot.

Ushbu maqola kabi? Do'stlar bilan o'rtoqlashing: