java lucene elasticsearch luke

java - Elasticsearch y luke



lucene (3)

No lo he probado con ninguna otra versión, pero parece funcionar con luke 4.9 y elasticsearch versión 1.3.1 (ElasticSearch 1.3.x usa Lucene 4.9 debajo)

En la línea de comando haz:

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

o simplemente descargue el código fuente para la versión de luke-4.9.0. A continuación, edite el archivo pom.xml y agregue la siguiente dependencia:

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

En la línea de comando nuevamente hazlo:

cd luke mvn install

Esto debería crear un directorio de destino con un archivo llamado luke-with-deps.jar . Abra este archivo en cualquier administrador de archivos y edite el archivo META-INF / services / org.apache.lucene.codecs.PostingsFormat como se describe en http://rosssimpson.com/blog/2014/05/06/using-luke-with -elasticsearch / y agregue las siguientes líneas

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

guarda esto y deberías poder ejecutar luke usando luke.bat o luke.sh. Ahora puede abrir el índice en / indexname / 0 / index / por ejemplo. Si tiene varios fragmentos en su clúster elasticsearch (el valor predeterminado es 5), es posible que no vea todos los documentos en ese clúster, sino solo una parte. Solo si index.number_of_shards está establecido en 1, debería poder ver todos los documentos.

¿Cómo puedo abrir un índice elasticsearch con luke?

Intenté con Luke de 3.5 a 4.8, con elasticsearch 1.1 a 1.2 y nada parece funcionar.

El único recurso que parecía aplicarse era http://rosssimpson.com/blog/2014/05/06/using-luke-with-elasticsearch/ que desafortunadamente no funcionó.


He logrado abrir un índice con ElasticSearch 1.3.4 (que usa Lucene 4.9.1 bajo el capó). Yo también seguí las instrucciones en el blog de Ross Simpson , pero no funcionó. Como él dice, agregué la dependencia ElasticSearch (en mi caso, la versión 1.3.4) en pom.xml :

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

Y también configure la versión de Lucene (en mi caso 4.9.1) en pom.xml :

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

META-INF/services/org.apache.lucene.codecs.PostingsFormat en el META-INF/services/org.apache.lucene.codecs.PostingsFormat de la siguiente manera:

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

Hasta ahora, las instrucciones son las mismas que en la publicación del blog. El paso adicional que tomé fue actualizar META-INF/services/org.apache.lucene.codecs.Codec agregar la última línea (recibí una excepción al abrir el índice que no se encontró un códec llamado Lucene49):

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