Java'da qidirish mexanizmi?

  1. I am trying to create a search engine just to learn and get more experience in Java.

    My intention is to store about 100 files on a server, a mixture of html, xml, doc, txt, and for each file to have meta data.

    SO when i search for a keyword, it should display a file with its meta description like Google.

    My question is, apart from html, can you add meta data to any other file formats, so that the meta description is shown.

  2. Would you be able to point me towards a Java search engine, that can search within file formats (txt,html) and display the result.

    I am working on my own code for this, but would like to have a look at other peoples code for some help?

10

8 javoblar

Lucene is the canonical Java search engine.

Turli manbalardan hujjatlar qo'shish uchun, Apache Tika ga va xizmat ko'rsatish bilan to'la-to'kilgan tizimni ko'rib chiqing./Veb interfeyslari, solr .

Lucene o'zboshimchalik metadatasini hujjatlari bilan bog'lash imkonini beradi. Tika metadata avtomatik ravishda turli formatlardan foydalanadi.

26
qo'shib qo'ydi

1) Mening savolim htmldan boshqa meta ma'lumotni boshqa fayl formatlariga qo'sha olasiz, meta tavsifi ko'rsatiladi.

Umuman olganda siz ma'lumotlar bazasidan foydalanishingiz va u erda mavjud bo'lgan hujjat bilan birga meta-ma'lumotni saqlaysiz. Keyinchalik ma'lumotlar bazasi so'rovi yordamida kalit so'zlarni qidirishni amalga oshira olasiz (ehtimol SQL kabi yoki ilike).

Fayllar, qattiq diskda faqatgina JBdagi yo'llar bilan saqlanishi yoki ma'lumotlar bazasiga CLOB yoki BLOB sifatida kiritilishi mumkin yoki matn yoki ikkilik hujjatlarga bog'liq.

2) Siz fayl formatlarida (txt, html) qidirib, natijani ko'rsatadigan Java qidiruv tizimiga ishora qila olasizmi?

Apache Lucene ni harakat qilib ko'ring.

4
qo'shib qo'ydi
  • Google ignores completely meta descriptions nowadays, because it has been either abused, or not filled with significant values
  • Lucene and/or Solr might do what you want, take a look.
  • 100 files is a very small amount, you won't have any problem to manage this amount of data in any way you like, if it's for exercise.
3
qo'shib qo'ydi

... lucene va solr boshqa odamlar kodi haqida qanaqa fikrda.

3
qo'shib qo'ydi

Albatta, yaxshi Lucene . Ko'pgina plaginlar (masalan, .doc dan o'qishingiz mumkin), bir nechta til va algoritmlarning ko'pligi (Levenshteyn masofasi kabi)

3
qo'shib qo'ydi

Look at apache nutch

Apache Nutch is an open source web-search software project.

Nutch indekslash uchun lucene/solrning ustiga o'rnatadi, hujjatlarni tahlil qilish uchun tika va o'z veb-brauzerini qo'shib qo'yadi.

3
qo'shib qo'ydi

Siz bir nechta kutubxonalardan foydalanishingiz kerak. Avvalo, ko'plab odamlarning eslatib o'tdilarki, aslida qo'ng'iroq qilish uchun Lucene dan foydalanishingiz mumkin. Biroq, Lucene faqat tekis matnni ishlaydi, shuning uchun uni indeksdagi fayllardan olishingiz kerak. Buning uchun Apache Tika dan foydalanishingiz mumkin.

Ishni boshlash uchun ehtimol siz Lucene Action 2 nashri kitobini sotib olishingiz kerak. U erda joylashgan misollarning aksariyati hozirgacha yangilanib turadi. Agar siz arzon bo'lishni istasangiz, o'sha sahifadagi taqdim etilgan manba kodiga qarashingiz mumkin.

3
qo'shib qo'ydi

Apache Tika to extract metadata.

Apache Tika Apache Tika vositasi ASFv2 litsenziyalangan ochiq manbadir   raqamli hujjatlardan ma'lumotlarni olish uchun vosita. Tika ruxsat beradi   qidirish mexanizmlari, kontentni boshqarish tizimlari va boshqa dasturlar   osongina aniqlash va turli xil raqamli hujjatlar bilan ishlash   metadata va kontentni barcha yirik fayl formatlaridan ajratish.

2
qo'shib qo'ydi