Java'da Arama Motoru mu?

  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 cevap

Lucene is the canonical Java search engine.

Çeşitli kaynaklardan belgeler eklemek için, Apache Tika 'ya ve hizmetle dolu bir sisteme göz atın./web arayüzleri, solr .

Lucene, keyfi meta verilerin belgeleriyle ilişkilendirilmesine izin verir. Tika, meta verileri çeşitli biçimlerde otomatik olarak kaldıracaktır.

26
katma

1) Sorum, html'den farklı olarak, meta verileri diğer dosya biçimlerine ekleyebiliyorsunuz, böylece meta açıklaması gösteriliyor.

Genelde bir veritabanı kullanır ve meta verileri buradaki belgeyle birlikte saklarsınız. Daha sonra bir veritabanı sorgusu kullanarak bir anahtar kelime araması yaparsınız (muhtemelen, SQL gibi veya benzeri).

Dosyalar, sabit sürücüde DB'de sadece yollarla saklanabilir veya metin veya ikili belgeleriniz olup olmadığına bağlı olarak CLOB veya BLOB olarak veritabanına yerleştirilebilir.

2) Dosya formatlarında (txt, html) arama yapabilen ve sonucu görüntüleyen bir Java arama motoruna işaret edebilecek misiniz?

Apache Lucene 'ı deneyin.

4
katma
  • 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
katma

... lucene ve solr diğer insanların kodlarına göre akla gelir.

3
katma

Gerçekten iyi, Lucene . Çok sayıda eklenti var (örneğin .doc'dan okuyabiliyorsunuz), çoklu dilleri ve çok sayıda algoritmayı destekliyorlar (Levenshtein mesafesi gibi)

3
katma

Look at apache nutch

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

Nutch indeksleme için lucene/solr'un üstüne, tikaları ayrıştırmak için tika'ya ve kendi web tarayıcısına ekler.

3
katma

Birkaç kütüphane kullanmanız gerekecek. Öncelikle, daha önce bahsettiğiniz birçok kişi gibi, gerçek arama yapmak için Lucene kullanabilirsiniz. Ancak, Lucene sadece düz metinleri işliyor, bu yüzden bunu dizine eklediğiniz dosyalardan çıkarmanız gerekiyor. Bunun için Apache Tika 'yı kullanabilirsiniz.

Başlamak için muhtemelen Lucene in Action 2nd sürümü kitabını satın almanız gerekir. İçindeki örneklerin çoğu hala güncel. Bir cheapskate olmak istiyorsanız, o sayfada sağlanan kaynak koduna da bakabilirsiniz.

3
katma

Apache Tika to extract metadata.

Apache Tika Apache Tika araç takımı, ASFv2 lisanslı bir açık kaynaktır   dijital belgelerden bilgi ayıklama aracı. Tika izin verir   arama motorları, içerik yönetim sistemleri ve diğer uygulamalar   kolayca tespit etmek için çeşitli dijital belgelerle çalışın ve   Tüm ana dosya biçimlerindeki meta verileri ve içeriği çıkarın.

2
katma