Tarmoqni qidirish. Qidiruv tizimini qanday yozish kerak

Ko'rsatmalar

Qidiruv tizimingizni uch qismga bo'ling. Birinchi qism PHP-da yozilgan bo'lajak veb-qidiruv tizimining interfeysi. Ikkinchi qism - bu sahifalar haqidagi barcha ma'lumotlarni saqlaydigan indeks (My SQL ma'lumotlar bazasi). Uchinchi qism qidiruv robotveb-sahifalarni indekslash va ularning ma'lumotlarini indeksga kiritadigan Delphi-da amalga oshiriladi.

Keling, interfeysni yaratishni boshlaymiz. Index.php faylini yarating. Buning uchun jadvallar yordamida sahifani ikkiga bo'ling. Birinchi qism - qidiruv shakli, ikkinchisi - qidiruv natijalari. Yuqoridan, get usuli yordamida index.php fayliga ma'lumot yuboradigan shakl yarating. Unda uchta element bo'ladi - matn maydoni va yana ikkita tugma. So'rovni yuborish uchun bitta tugma kerak, ikkinchisi - maydonni tozalash uchun (bu tugma majburiy emas).

Matn maydoniga "qidirish" deb nom bering, birinchi tugma (so'rov yuboradigan) "Qidirish". Shakl nomini shunday qoldiring - "form1".

Ma'lumotlar bazasiga ulanish uchun konfiguratsiya faylini ulang.

"config.php" ni o'z ichiga oladi;

"Izlash" tugmachasi bosilganligini tekshiring.

if (isset ($ _ GET ["tugma"])) ("Qidirish" tugmasi bosilsa, kod bajariladi) else (agar "Qidirish" tugmasi bosilmasa kod bajariladi)

Agar tugma bosilsa, qidiruv so'rovini tekshiring.

if (isset ($ _ GET ["search"])) ($ search \u003d $ _ GET ["search"];)

Agar qidiruv so'rovi ya'ni qidiruv so'rovingizning matnini $ search o'zgaruvchisiga tayinlang.

if ($ search! \u003d "" && strlen ($ search)\u003e 2) (ma'lumotlar bazasini qidirish kodi) else (echo "Bo'sh qidiruv so'rovi ko'rsatilgan yoki qidiruv qatorida 3 ta belgidan kam bo'lgan.";)

Agar qidiruv so'rovi yuqori shartni qondiradigan bo'lsa, qidiruv skriptini o'zi bajaring.

Qidiruv natijalarini printf orqali bosib chiqaradigan tsiklni boshqaring.
Hammasi shu. Agar sizda zarur bilimlar mavjud bo'lsa, unda siz kerakli elementlarni qidiruv tizimiga osongina qo'shishingiz va uni yaratish uchun o'zingizning algoritmingizni tuzishingiz mumkin.

Ommabop veb-saytlar foydalanuvchilarni nafaqat o'ziga xos dizayni, qiziqarli tematik tarkibi, balki funktsional xizmatlari bilan ham o'ziga jalb qiladi. Odamlar har kuni o'zlarini qiziqtirgan materiallarni qidirib, ma'lumot olish uchun Internetga kirishadi. Shunday qilib, yaratish mantiqan qidiruv tizimi kuni veb-saytfoydalanuvchilarga qo'lda tanlangan manbalardan kerakli narsani tezda topish imkoniyatini berish orqali.

Sizga kerak bo'ladi

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

Ko'rsatmalar

Tizimni qurishni boshlang maxsus qidiruv Google texnologiyalariga asoslangan. Qidiruv tizimni boshqarish xizmat paneliga kiring. Brauzerda manzil ko'rsatilgan sahifani oching http://www.google.ru/cse/... Tizim bilan ishlash uchun Google hisobingizdan foydalaning. "Foydalanuvchilarni qidirish tizimini yaratish" tugmasini bosing, agar siz hozirda tizimga kirmagan bo'lsangiz, "Kirish" havolasini bosing. Hisobingizdagi ma'lumotlarni shaklga kiriting va "Kirish" tugmasini bosing. Agar sizda umumiy narsa bo'lmasa google hisob qaydnomasi, uni "Hozirda qayd yozuvini yaratish" havolasini bosish va tavsiya etilgan amallarni bajarish bilan yarating.

Yaratiladigan maxsus qidiruv tizimining asosiy parametrlarini kiriting. "Ism" va "Tavsif" maydonlarini to'ldiring, "Til" ochiladigan ro'yxatidan interfeys tilini tanlang. "Qidirish uchun saytlar" matn maydoniga ma'lumotlar yaratilayotgan tizim yordamida qidiruv natijalarida ko'rsatiladigan manbalar ro'yxatini kiriting. "Keyingi" tugmasini bosing.

Saytga qidiruv tizimini o'rnatish uchun javascript kodini oling. Joriy sahifadagi matn maydonidagi barcha tarkibni tanlang. Tanlangan tarkibni buferga nusxalash va vaqtinchalik faylga saqlash.

Agar siz kelajakdagi pochta serveriga qaror qilgan bo'lsangiz, ro'yxatdan o'tishga o'tishingiz mumkin elektron pochta manzili... Har qanday portalda ro'yxatdan o'tish jarayoni xuddi shunday bo'lib, anketa va ko'rsatmalarni to'ldirishni taklif qiladi xavfsizlik Savoli, elektron pochta parolingizni unutgan bo'lsangiz. So'rovnomani to'ldirishga mas'uliyat bilan yondashish kerak, chunki sizning pochtangiz buzilgan bo'lsa, siz ro'yxatdan o'tkazuvchiga anketadagi ma'lumotlarni taqdim etishingiz kerak. Shuning uchun, agar siz taxallusni olishga yoki qasddan soxta ma'lumotlardan foydalanishga qaror qilsangiz, ularni xavfsiz joyda saqlashingiz kerak.

Eslatma

Elektron pochtaodatda bepul taklif qilinishi kerak. Ammo buni chiroyli va eksklyuziv domen nomi va ko'plab qo'shimcha funktsiyalar bilan ma'lum bir oylik abonent to'lovi evaziga amalga oshiradigan saytlar mavjud. Sotib olishdan oldin pochta qutisibarcha imkoniyatlarni ko'rib chiqishga arziydi bepul xizmatlar, va keyin tijorat takliflarini qabul qiling.

Foydali maslahatlar

Tanlashda pochta serveri taklif qiladigan mashhur portallarga alohida e'tibor bering pochta xizmati... Odatda, bunday portallar vaqt sinovidan o'tgan va ishonchlilik va funksionallikni kafolatlaydi.

Ishlashning ishonchliligini oshirish sayt, saytdagi ma'lumotlarning xavfsizligi, trafikning ko'payishi sayt, saytdagi yukni kamaytirish va boshqalar. qil oyna sayt... Ma'lumki, asosiy manba bir necha sabablarga ko'ra mavjud bo'lmaganda, mehmon zaxira manbaga, ya'ni saytga etib boradi. oyna.

"Vebmastering" sohasidagi ko'plab yangi kelganlar (buni shunday nomlaylik) bir paytlar "ajoyib" g'oyani egallashadi, "va men uchun qidiruv tizimimni qo'zg'atmaslik kerakmi?! reklama soting, o'ljani kesing! " Tan olaman, menda ham shunday bo'lgan ... 3 marta.

Runet qidiruvi - Yandex qotili

Men mavzular bo'yicha havolalarni to'pladim, o'qishni boshladim, Aport va Yandex-da topgan narsamning barchasini kurdim. Men o'rgimchaklar bilan bir nechta bepul dvigatellarni yuklab oldim, lekin ularni o'rnatishga ham etarli "bilimim" yo'q edi. Kashfiyotning og'rig'i juda hiyla-nayrangdir: men katalog skriptini (ma'lumotlar bazasiz, txt fayllarida) olib, saytlar bazasini qidirib topdim va saytlar bilan to'ldirishni boshladim: avval o'zim, keyin moderator yolladim. Va nima deb o'ylaysiz? Albatta, bu g'oya muvaffaqiyatsizlikka uchradi, ammo kitoblar orqali qidiruv tizimiga quyilgan g'oyalar paydo bo'ldi.

Kitob qidiruvi

Bir nechta runetlarda (taxminan 2004-2007 yillarda) gaplashib, ikkita kitobni oldim: Hummingbird va Bolero, tanlashning sababi oddiy - har ikkala holatda ham ushbu do'konlarning tovarlari bilan ma'lumotlar bazalarini sherik interfeysidan yuklab olish mumkin edi. Ma'lumotlar bazalarida ozgina ma'lumotlar mavjud edi: kitobning nomi, muallifi, do'kon veb-saytidagi manzil. Ammo bu katalog + qidiruv tizimini yaratish uchun etarli edi. Bundan tashqari, kitoblarga izohlar ham berildi (ular real vaqt rejimida do'kon saytlaridan tahlil qilindi, ha, men o'sha paytda keshlash haqida tasavvurga ega emas edim, xuddi avtomatik qayta yo'naltirishni ishlatmaganim kabi ...).

Kitob qidiruvi muvaffaqiyatli bo'lmadi, ammo katalog Yandeksdan navbati bilan kitob savdosini olib keldi. Xaridlarning aksariyati pochta orqali, etkazib berishda naqd pul bilan etkazib berildi, shuning uchun hisob raqamiga tushumlarni qabul qilish oylar davom etdi ... Rossiya pochtasi.

Google qotili

Mening ishimning asosiy yo'nalishi "burjua" da bo'lgan, xususan, men PPC bilan, asosan Yumax bilan ishlaganman va shu sababli ularning qidiruv tizimini keyingi qidiruv tizimi uchun "dvigatel" sifatida tanladim. PHP bilan qurollanib (yoki aniqrog'i, kitob kataloglarini tahlil qiluvchilarni qayta ishlash) foydalanuvchi so'rovi, rasmlari va hk. (Huddi 🙂 kabi) ma'lumotlarga qo'shimcha ma'lumot qo'shishni o'rgandim.

Va keyin ajoyib narsa yuz berdi. Qidiruv tizimlar: Msn (hozirgi Bing) va Google "mening qidiruv tizimim" natijalarini indekslashni boshladilar va trafikdan zavqlanishdi, bu esa o'z navbatida Yumax tomonidan saxiylik bilan to'langan.

Va mening hamkasblarim eshiklarni ushlab turishganida, men bunday qidiruv tizimlarini: turli xil disklarni, turli xil manbalarni sotib oldim qo'shimcha ma'lumot... Masalan, tematik mini-saytlarni qayta yo'naltirishsiz yaratishingiz mumkin bo'lganida, nima uchun eshik eshiklari va trafikni yo'naltirishga yo'naltirish, qayta yo'naltirish tufayli taqiqlanish xavfini tug'diradi? Oq eshik eshiklari, endi ular shunday nomlangan ko'rinadi. Idil uzoq davom etmadi - bir yildan kamroq vaqt. Algoritm boshida MSN-ga o'zgaradi, so'ngra ular Google-ni ko'mdilar shunga o'xshash echimlar (aniqrog'i, ularni juda kam samaraliroq qildi).

MSN-dagi "tizim" qulashi paytida qaerdadir men "qayg'uga tushib", taqiqlangan domenlardan birini - saytni oldim va unga ilgari biron bir forumda yoki reklama agentligi saytida ishlagan blogni o'tkazdim.

3 marta! 3 marta shunga o'xshash tirgakka qadam qo'ydi: ba'zi odamlar o'zlarining xatolaridan saboq ham olmaydilar :)

Bizning yangiliklarimizga obuna bo'ling va blogga kiritilmagan narsalarni oling, anonslar va tematik to'plamlar + bir nechta qo'llanmalar (obunachilarni yig'ish va ma'lumot sotish).

Yandex yoki Google kabi qidiruv tizimlari qanday ishlashini hech o'ylab ko'rganmisiz? Agar siz yozish vazifasi bilan duch kelgan bo'lsangiz qidiruv tizimi noldan, nimadan boshlar edingiz? Shubhasiz, ko'pchiligingiz ichki qidiruv tizimiga ega oddiy kontent saytlarini yozgansiz va qidiruv juda sodda tarzda amalga oshirilgan - SQL sintaksisining LIKE buyrug'i yordamida. Sizningcha, Yandex ham shunday ishlaydi? 🙂

Zamonaviy qidiruv tizimlarida amalga oshirilgan barcha mexanizmlar haqida gapirish bitta post uchun vazifa emasligi aniq (va men sizga ko'p narsani ayta olmayman), shuning uchun bu erda men ko'pchilik uchun qidiruv tizimlarining eng muhim va noma'lum qismi - indeks haqida gaplashaman. Ammo shoshilmaylik.

Umuman olganda, butun qidiruv tizimini taxminan 3 qismga bo'lish mumkin: foydalanuvchi interfeysi, qidiruv agenti va indeks.

Foydalanuvchi interfeysi hammaga tanish - google.com, ya.ru. Bu odatda faqat qidiruv qatoridir. Qidiruv agenti bu saytlar bo'ylab harakatlanadigan, ulardagi sahifa matnlari va urllarini to'playdigan dastur. Qidiruv agenti yig'ilgan ma'lumotlarni indeksda saqlaydi.
Xo'sh, eng muhim qism bu indeks, yoki qidiruv bazasi ma'lumotlar.

Indeksda qidiruv agentlari tomonidan to'plangan barcha ma'lumotlar - Internet sahifalari saqlanadi.

Umuman aytganda, agentning vazifasi ma'lumot to'plashdir - u sayt sahifasiga kirib, u erdan matnni olib, undan havolalarni chiqarib, ularni matn bilan birga indeksga yuboradi. Ushbu daqiqani batafsilroq ko'rib chiqish kerak, chunki u tarkibiga kiradi asosiy ish qidiruv tizimi.

Ma'lumotlar indeksda qanday aniq saqlanadi? Indeks jadvallari qanday tuzilgan? Bu qidiruv tizimining asosiy tafsilotlaridan biri.

Qidiruv tizimini juda mavhum tarzda ko'rib chiqsak, indeksni uchta jadvalga bo'lish mumkin: so'z boyligi, hujjatlar va havolalar.

Aniqroq qilish uchun uchta jadvalni tasavvur qiling:

so'zlar (lug'at) maydonlari bilan:
id, ism

maydonlari bo'lgan hujjatlar (hujjatlar):
id, hujjat

va sohalar bilan aloqalar:
word_id, doc_id

Sahifa matnini indeksga qo'shishdan oldin, qidiruv tizimi uni so'zlarga ajratadi. Hujjatdagi so'zlar ro'yxatini olgandan so'ng, u o'zlaridan hali mavjud bo'lmagan so'zlarni o'z lug'atiga (jadval so'zlariga) qo'shib qo'yadi. Va hujjatning o'zi hujjatlar jadvalida saqlanadi.
Shundan so'ng, munosabatlar jadvaliga so'zma-hujjat havolalari qo'shiladi, bu qaysi hujjatda qaysi so'zlar paydo bo'lishini aniqlaydi.

Qidiruv tizimlarida amalga oshiriladigan navbatdagi murakkab jarayon - bu foydalanuvchining iltimosiga binoan ma'lumotlarni tanlash va saralash.

Google.com saytiga kirib, qidiruvga "php" yozganingizdan so'ng, juda murakkab mexanizm ishga tushirildi, uning maqsadi so'rov bilan bog'liq hujjatlar ro'yxatini dolzarbligi kamayib boruvchi tartibda ko'rsatishdir.

Bu qanday amalga oshiriladi? Bu erda hamma narsa juda murakkab. Birinchidan, qidiruv tizimi tegishli hujjatlarni - belgilangan so'zlar topilgan hujjatlarni tanlashi kerak. Yuqorida keltirilgan jadvallar yordamida umuman buni qanday amalga oshirilishini tasavvur qilish mumkin. Ammo reyting (buyurtma berish) bilan har bir qidiruv tizimi o'z-o'zidan hal qilinadigan muammolar allaqachon boshlanadi.

Bu erda juda murakkab klasterlash va tasniflash algoritmlari allaqachon ishlatilgan bo'lib, ular barcha hujjatlarni guruhlarga ajratadi va har bir hujjat uchun toifani belgilaydi. Zotan, ushbu toifalarga asoslanib, har bir hujjatning dolzarbligi to'g'risida ba'zi ma'lumotlar paydo bo'ladi. Zamonaviy qidiruv tizimlarida ushbu omilga qo'shimcha ravishda ko'plab boshqalar ham hisobga olinadi.

Siz haqiqatan ham Internetdagi qidiruv tizimlarini (google, Yandex va boshqalar) nisbatan kichik ma'lumot qidirish tizimlaridan ajratishingiz kerak. Birinchisi miqyosi jihatidan ikkinchisiga qaraganda ancha kattaroq, demak ularning tuzilishi ancha murakkab.

Kichik qidiruv tizimlarida sfenks va lyusen kabi loyihalar mavjud.

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

Qo'shimcha ma'lumot.

Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: