O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Mustaqil ish Mavzu: Lucene
Guruh: 416-18
Bajardi: Abduraxmonov M
Tekshirdi: Djurayev O
TOSHKENT-2021
MUNDARIJ
Reja............................................................................1 bet
Asosiy qism................................................................14 bet
Xulosa.........................................................................1 bet
Foydalanilgan adabiyotlar..........................................1 bet
REJA
LUCENE nma ?
LUCENE xususiyatlari
LUCENE asosiy tushunchaleri
Xulosa
Lucene - bu Apache jamg'armasining bepul yuqori samarali to'liq matnli qidiruv kutubxonasi bo'lib, 2010-yillarning o'rtalarida Elasticsearch va Solr uchun eng mashhur replikatsiyalangan qidiruv tizimlari uchun asos bo'lib xizmat qiladi. Java tilida yozilgan.
1999 yilda Dag Cutting tomonidan ishlab chiqilgan, dastlab muallif tomonidan SourceForge.net saytida joylashtirilgan. 2001 yilda u Apache jamg'armasiga o'tkazildi, u erda dastlab Jakarta loyihasining bir qismi sifatida ishlab chiqilgan va 2005 yilda fondning yuqori darajadagi loyihasi maqomiga o'tkazildi. Yuqori darajadagi loyihaning bir qismi sifatida Lucene mustaqil bo'lgan bir qator kichik loyihalarni yaratdi, ular orasida - Hadoop (Cutting tomonidan boshlangan va mahsulotlarning keng ekotizimini shakllantirgan), Nutch va Solr (Hadoop ekotizimining bir qismi hisoblanadi). Bundan tashqari, kutubxona bir qator loyihalarda ichki mexanizm sifatida ishlatiladi, jumladan YaCy (markazlashtirilmagan qidiruv tizimi), CrateDB [en] (SQL qo'llab-quvvatlashi bilan hujjatga yo'naltirilgan ma'lumotlar bazasi), Swiftype [en] (tashkilotlar uchun takrorlangan qidiruv tizimi) , DocFetcher (mahalliy qidiruv tizimi).
Kutubxonaning asosiy funktsional xususiyati kengaytiriladigan va etarlicha yuqori tezlikda indekslashni ta'minlashdir (ommaviy darajadagi serverda soatiga taxminan 100 GB). Yaratilgan indeks asl matn hajmining taxminan 20-30% ni egallaydi
Qidiruv algoritmi tartibli qidiruvni (eng yaxshi natijalar birinchi bo'lib ko'rsatiladi), loyqa qidiruvni [en], so'rovlarning ko'p turlarini qo'llab-quvvatlaydi (iborali so'rov, joker belgilar bilan so'rovlar, intervallarni qidirish va boshqalar), metama'lumotlar qiymatlari bo'yicha qidirish ( sarlavha, muallif, matn kabi). Qidiruv natijalarni birlashtirish qobiliyatiga ega bo'lgan bir nechta indekslar tomonidan qo'llab-quvvatlanadi, qidiruv natijalarini turli sohalar bo'yicha saralash amalga oshiriladi. Qidiruv indeksni yangilash jarayoni bilan bir vaqtda mumkin. Kutubxonaning mantiqiy arxitekturasi har qanday hujjatni matn maydonlari to'plami sifatida ifodalaydi, bu esa ulardan matn ma'lumotlarini olish mumkin bo'lgan formatlardan qat'iy nazar ishlash imkonini beradi.
Boshqa ko'plab dasturlash tillariga ko'chirildi: C (Lucene4c), C ++ (CLucene), Node.js, Go, Delphi (MUTIS), Perl (PLucene), Ruby (Ferret va RubyLucene), PHP (Zend doirasida), Lisp (Montezuma), C # (Lucene.Net), Python (PyLucene). Qidiruv jarayonida Lucene tomonidan foydalaniladigan asosiy ma'lumotlar manbai indeksdir. Indeks - bu ko'plab hujjatlarni o'z ichiga olgan ombor. Hujjatlarning asosiy komponenti ma'lumotlar maydonlaridir. Lucene-da asosiy ma'lumotlar turi - String. Bundan tashqari, turli xil saqlash aniqligi bilan raqamli va Sana turlarini qo'llab-quvvatlaydi, lekin sukut bo'yicha Lucene bu ma'lumotlar turlarini biroz qo'llab-quvvatlaydi. Qidiruv indeksini yaratish uchun siz tegishli maydon qiymatlari bilan hujjatlar to'plamini yaratishingiz va yaratilgan hujjatlarni indeksga qo'shishingiz kerak
Indeksni qurish jarayoni sxematik tarzda rasmda ko'rsatilgan. 1.
Indeks yaratish materiali
Indeksni qurishda foydalaniladigan analizator va katalogni (Katalog) ko'rsatish kerak. Keling, ushbu sinflarga batafsilroq to'xtalib o'tamiz.
Katalog indeks ma'lumotlarini saqlash uchun javobgardir. Rasmiy ravishda, katalog ma'lum bir interfeysni amalga oshiradigan mavhum xotiradir. Interfeys fayllar bilan ishlash usullarini o'z ichiga oladi - ularni yaratish, o'zgartirish va o'chirish. Har bir fayl nomi va mazmuni bilan tavsiflanadi. Shunday qilib, katalogning mantig'i indeks tuzilishi bilan bevosita bog'liq emas. Ushbu interfeysning eng keng tarqalgan ilovalari SimpleFSDirectory va RAMDirectory sinflari bo'lib, ular indeks mazmunini mos ravishda fayl tizimida va xotirada saqlashga imkon beradi.
Tahlil qiluvchi hujjat maydoni qiymatlarini tokenlar ketma-ketligiga aylantirish uchun javobgardir. Bunday o'zgartirishga misol rasmda ko'rsatilgan. 1. Tokenlar - izlanadigan kalit so'zlar. Indeks qo'shilgan hujjatlarning tegishli maydonlariga ma'lum tokenlarning tegishliligini saqlaydi.
IndexWriter bu sinflar orasidagi yopishtiruvchi bo'lib, taqdim etilgan tahlilchi va katalog yordamida indeks hujjatlari, ularning maydonlari va tokenlari haqidagi ma'lumotlarni saqlash vazifasini bajaradi.
Quyida test mahsulotlari indeksini yaratuvchi kod misoli keltirilgan.
Apache Lucene bilan tanishtirish
1. Umumiy ko‘rinish
Apache Lucene - bu turli dasturlash tillaridan foydalanish mumkin bo'lgan to'liq matnli qidiruv tizimi.
Ushbu maqolada biz kutubxonaning asosiy tushunchalarini tushunishga va oddiy dastur yaratishga harakat qilamiz.
2. Maven sozlamalari Boshlash uchun avvalo kerakli bog'liqliklarni qo'shamiz:
<
Do'stlaringiz bilan baham: |