Bosh sahifa Wiki SEARCH

SEARCH

SEARCH — IMAP protokolida joriy ochilgan mailboxdagi xabarlarni server tomonida mezonlar asosida topish buyrug‘idir. U xabarlarning o‘zini emas, mos kelgan sequence numberlar yoki UIDlarni qaytaradi. Shu sababli mijoz keyingi FETCH amali orqali faqat kerakli xabarlarning sarlavhasi yoki mazmunini olishi mumkin.

Qidiruv mezonlari

IMAP bir nechta mezon turini belgilaydi. ALL barcha xabarlarni, SEEN va UNSEEN o‘qilgan yoki o‘qilmaganlarni, ANSWERED javob berilganlarni tanlaydi. FROM, TO, CC va SUBJECT sarlavha maydonlarida matn qidiradi. BODY xabar tanasini, TEXT esa sarlavha va tanani tekshiradi. BEFORE, SINCE va ON ichki sana bo‘yicha tanlashga xizmat qiladi.

Mezonlar ketma-ket yozilganda mantiqiy AND sifatida talqin qilinadi. Masalan, UNSEEN FROM [email protected] ikkala shartga mos xabarlarni topadi. OR aynan ikki qidiruv kalitini birlashtiradi, NOT esa keyingi mezonni inkor qiladi. Murakkab ifodada qavslar guruhlash uchun ishlatiladi. Operator ustuvorligini taxmin qilish o‘rniga aniq guruhlash xatoni kamaytiradi.

Sequence number va UID natijasi

SEARCH odatda sequence numberlar ro‘yxatini qaytaradi. Bu raqamlar EXPUNGE sodir bo‘lganda siljishi mumkin. UID SEARCH ishlatilsa, qidiruv mezonidagi raqamlar va natija UID sifatida talqin qilinadi. Sinxronlash va uzoqroq davom etuvchi amallar uchun UID ko‘pincha ishonchliroq.

Server klassik SEARCH javobida mos kelgan raqamlarni bitta ro‘yxatda beradi. Juda katta mailboxda natija uzun bo‘lishi mumkin. ESEARCH kengaytmasi natijani sanash, minimal va maksimal qiymat yoki ixcham ketma-ketlik ko‘rinishida qaytarish imkonini beradi. Mijoz kengaytmani ishlatishdan oldin server capability ro‘yxatini tekshiradi.

Matn va kodlash

Matn qidiruvi belgilar kodlanishiga bog‘liq. SEARCH buyrug‘i charset parametrini qabul qilishi mumkin; zamonaviy IMAP muhitida UTF-8 imkoniyatlari kengaytmalar bilan belgilanadi. Sarlavhadagi matn MIME encoded-word ko‘rinishida, xabar tanasi esa turli content-transfer-encoding usullarida saqlanishi mumkin. Server qidiruv uchun ularni qanday dekodlashi standart va amaliy implementatsiyaga bog‘liq.

Qidiruv natijasini foydalanuvchi ko‘rgan interfeys bilan aynan teng deb bo‘lmaydi. Webmail qo‘shimcha indeks, stemming, til tahlili yoki xatolikni tuzatadigan qidiruv tizimidan foydalanishi mumkin. Oddiy IMAP SEARCH esa protokolda belgilangan aniq mezonlarni bajaradi.

Sana mezonlari

IMAP ichki sana va xabar sarlavhasidagi sana tushunchalarini ajratadi. SINCE, BEFORE va ON internal date, ya’ni server xabarni mailboxga qabul qilgan vaqt bilan ishlaydi. SENTBEFORE, SENTSINCE va SENTON esa Date sarlavhasidagi jo‘natilgan sanani tekshiradi. Xat kechikib yetkazilgan yoki jo‘natuvchi soati noto‘g‘ri bo‘lsa, bu qiymatlar farq qiladi.

IMAP sana mezoni kun aniqligida ishlaydi. Vaqt zonasi va soat bo‘yicha aniq oraliq kerak bo‘lsa, server kengaytmasi yoki mijoz tomonida qo‘shimcha filtrlash talab etilishi mumkin.

Unumdorlik va maxfiylik

Server xabar tanasi va sarlavhalar uchun indeks saqlasa, qidiruv tez bajariladi. Indekssiz katta mailboxda BODY yoki TEXT mezoni ko‘p faylni o‘qishi mumkin. Mijoz avval sana, bayroq yoki sarlavha kabi arzonroq mezon bilan doirani toraytirishi mumkin, lekin yakuniy optimallashtirish serverga tegishli.

Qidiruv so‘rovlari foydalanuvchining qiziqishi va yozishmalaridagi atamalarni ochib beradi. Shu bois IMAP ulanishi TLS bilan himoyalanadi, server jurnallarida qidiruv matnini saqlash esa maxfiylik siyosatiga mos cheklanadi.

Natijalar pochta qutisi o‘zgarganda qayta tekshiriladi.

Bog‘liq tushunchalar

IMAP, UID, FETCH, ESEARCH, Mailbox, Flags, MIME