2016-04-01 23 views
0

Bir Java uygulaması yazıyorum ve bir Xml dosyasını Lucene ile dizine eklemek istiyorum, böylece belirli bir hedefi olan bir ilacı arayabiliyorum. Dosya boyutu 400MB'dir ve 8000'den fazla ilaç girişi ile doldurulur.Lucene ile tekli Xml dosyası

<drug type="biotech" created="2005-06-13" updated="2015-11-27"> 
    <drugbank-id primary="true">DB00001</drugbank-id> 
    <drugbank-id>BIOD00024</drugbank-id> 
    <drugbank-id>BTD00024</drugbank-id> 
    <name>Lepirudin</name> 
    .... 
    <targets> 
     <target position="1"> 
      <id>BE0000767</id> 
      <name>Epidermal growth factor receptor</name> 
      .... 
     </target> 
     .... 
    </targets> 
</drug> 
<drug> 
.... 
</drug> 

Bu dosyayı bir ilaç girişi tek bir belge olacak şekilde nasıl indeksleyebilirim? birisi bu Xml beni en esnek strateji dosyasını okur ve uygun onu dönüştüren küçük java uygulaması üzerinden just use SolrJ için genellikle :)

cevap

1

bildirin lütfen nasıl endeksi bazı yararlı linkler/kaynaklara veya ipuçları varsa Solr'da indeksleme formatı Böylelikle, Solr tarafından alınmadan önce belirli alanları kolayca önceden işleyebilirsiniz.

Başka bir seçenek use XSL to transform the XML file into something that Solr understands. Bu, sunucu tarafında (XSLTUpdateRequestHandler ile bağlantılı olarak) veya istemci tarafında kullanılabilir (bir XML belgesini bir güncelleştirme isteğine dönüştürün ve standart istek işleyicisine gönderin).

+0

Tekrar teşekkürler ve yanıt için teşekkürler, bunun için embeddedSolrServer kullanmalı mıyım? Uygulamam/eklentim başladığında ve eklenti kullanıldığında birden çok kez çalıştırıldığında xml dosyalarını indekslemek ve daha sonra bir sonraki açılışta dosyaları yeniden indekslemek istiyorum. Her ilaç alanını programlı olarak önceden işlemek ve dizine eklemem gerekiyor mu yoksa schema.xml dosyasını kullanabilir miyim? Schema.xml oluşturma ve kullanma konusunda herhangi bir iyi eğitim var mı? – user1171426