2014-06-15 11 views

risposta

1

Non ho provato con tutte le altre versioni, ma sembra funzionare con Luke 4.9 e la versione 1.3.1 elasticsearch (elasticsearch 1.3.x usa Lucene 4.9 sotto)

Sulla riga di comando fanno:

git clone https://github.com/DmitryKey/luke.git 

o semplicemente scaricare il codice sorgente per la versione di luke-4.9.0. Avanti, modificare il file di pom.xmle aggiungere la seguente dipendenza:

<dependency> 
    <groupId>org.elasticsearch</groupId> 
    <artifactId>elasticsearch</artifactId> 
    <version>1.3.1</version> 
</dependency> 

sulla riga di comando di nuovo fare:

cd luke 
mvn install 

Questo dovrebbe creare una directory di destinazione con un file chiamato Luca- with-deps.jar. aprire questo file in qualsiasi gestore di archivio e modificare il file META-INF/services/org.apache.lucene.codecs.PostingsFormat come descritto a http://rosssimpson.com/blog/2014/05/06/using-luke-with-elasticsearch/ e aggiungere le seguenti righe

org.elasticsearch.index.codec.postingsformat.BloomFilterPostingsFormat 
org.elasticsearch.index.codec.postingsformat.Elasticsearch090PostingsFormat 
org.elasticsearch.search.suggest.completion.Completion090PostingsFormat 

salvare questo e si dovrebbe essere in grado di eseguire luke utilizzando luke.bat o luke.sh. Ora è possibile aprire l'indice in/indexname/0/index/ad esempio. Se nel cluster elasticsearch sono presenti più frammenti (l'impostazione predefinita è 5), potrebbe non essere possibile visualizzare tutti i documenti in quel cluster, ma solo una parte di esso. Solo se index.number_of_shards è impostato su 1, dovresti essere in grado di vedere tutti i documenti.

1

Sono riuscito ad aprire un indice da ElasticSearch 1.3.4 (che utilizza Lucene 4.9.1 sotto il cofano). Anch'io ho seguito le istruzioni in Ross Simpson's blog, ma non ha funzionato. Come dice lui, ho aggiunto la dipendenza elasticsearch (nel mio caso la versione 1.3.4) in pom.xml:

<dependency> 
    <groupId>org.elasticsearch</groupId> 
    <artifactId>elasticsearch</artifactId> 
    <version>1.3.4</version> 
</dependency> 

e impostare la versione Lucene (nel mio caso 4.9.1) in pom.xml:

<lucene.version>4.9.1</lucene.version> 

ho aggiornato il META-INF/services/org.apache.lucene.codecs.PostingsFormat nel vaso, come di seguito:

org.apache.lucene.codecs.lucene40.Lucene40PostingsFormat 
org.apache.lucene.codecs.lucene41.Lucene41PostingsFormat 
org.elasticsearch.index.codec.postingsformat.BloomFilterPostingsFormat 
org.elasticsearch.index.codec.postingsformat.Elasticsearch090PostingsFormat 
org.elasticsearch.search.suggest.completion.Completion090PostingsFormat 

Finora le istruzioni sono le stesse nel post del blog. Il passo ulteriore ho preso è quello di aggiornare META-INF/services/org.apache.lucene.codecs.Codec aggiungere l'ultima riga (mi è stato sempre un'eccezione quando si apre l'indice che un codec di nome Lucene49 non è stato trovato):

org.apache.lucene.codecs.simpletext.SimpleTextCodec 
org.apache.lucene.codecs.appending.AppendingCodec 
org.apache.lucene.codecs.lucene49.Lucene49Codec