monterail / elasticsearch-analysis-morfologik

Morfologik (Polish) Analysis Plugin for ElasticSearch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plugin installation doesn't work with latest ElasticSearch 0.90.0 (missing class org.apache.lucene.analysis.ReusableAnalyzerBase)

thlawiczka opened this issue · comments

I've installed morfologik from http://search.maven.org/#search|ga|1|a%3A%22elasticsearch-analysis-morfologik%22 (1.0.0) and cannot create an index, as follow:

{
    "settings" : {
        "number_of_shards" : 5
    },
    "mappings" : {
        "foto" : {
            "_analyzer": "morfologik",
            "properties" : {
                "info"  : {"type": "string", "store": "yes", "index": "analyzed", "index_analyzer": "morfologik", "search_analyzer": "morfologik"},
                "title" : {"type": "string", "store": "yes", "index": "analyzed", "index_analyzer": "morfologik", "search_analyzer": "morfologik"},
                "path"  : {"type": "string", "store": "yes", "index": "analyzed", "index_analyzer": "morfologik", "search_analyzer": "morfologik"}
            }
        }
    }
}
[2013-05-01 12:00:51,627][WARN ][cluster.metadata         ] [Cobalt Man] [fotos] failed to create
org.elasticsearch.indices.IndexCreationException: [fotos] failed to create index
        at org.elasticsearch.indices.InternalIndicesService.createIndex(InternalIndicesService.java:384)
        at org.elasticsearch.cluster.metadata.MetaDataCreateIndexService$1.execute(MetaDataCreateIndexService.java:263)
        at org.elasticsearch.cluster.service.InternalClusterService$2.run(InternalClusterService.java:229)
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:95)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/analysis/ReusableAnalyzerBase
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
        at java.lang.Class.getDeclaredConstructors(Unknown Source)
        at org.elasticsearch.common.inject.assistedinject.FactoryProvider.createMethodMapping(FactoryProvider.java:214)
        at org.elasticsearch.common.inject.assistedinject.FactoryProvider.newFactory(FactoryProvider.java:151)
        at org.elasticsearch.common.inject.assistedinject.FactoryProvider.newFactory(FactoryProvider.java:146)
        at org.elasticsearch.index.analysis.AnalysisModule.configure(AnalysisModule.java:407)
        at org.elasticsearch.common.inject.AbstractModule.configure(AbstractModule.java:60)
        at org.elasticsearch.common.inject.spi.Elements$RecordingBinder.install(Elements.java:201)
        at org.elasticsearch.common.inject.spi.Elements.getElements(Elements.java:82)
        at org.elasticsearch.common.inject.InjectorShell$Builder.build(InjectorShell.java:130)
        at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:99)
        at org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:129)
        at org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:66)
        at org.elasticsearch.indices.InternalIndicesService.createIndex(InternalIndicesService.java:380)
        ... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.analysis.ReusableAnalyzerBase
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 33 more

Thank, will check. Try the 0.19 or 0.20 it should work. I'm using 0.20.6 on production.

With ES 0.20.6 it works quite good, including the installation part.

I'm experiencing the same issue. Are you planning to fix it, to work with newest version of ES (0.90.0)?

Yep, will fix it asap

I've just added pull request #3 which fixes this issue.

New release thanks to @pgaertig