我是elasticsearch的新手。我正在尝试编译索引脚本,我知道我的elasticsearch.yml
文件中有一些缺少的配置。能否帮助我理解下面的错误信息以及如何摆脱它?
[2015-04-07 11:53:55,840][INFO ][node ] [Nightcrawler] version[1.5.0], pid[26688], build[5448160/2015-03-23T14:30:58Z]
[2015-04-07 11:53:55,841][INFO ][node ] [Nightcrawler] initializing ...
[2015-04-07 11:53:55,868][INFO ][plugins ] [Nightcrawler] loaded [lang-mvel, lang-python, marvel], sites [marvel]
[2015-04-07 11:54:00,158][INFO ][script ] [Nightcrawler] compiling script file [/home/tmallapu/elasticsearch-1.5.0/config/scripts/groovy/length .groovy]
[2015-04-07 11:54:00,333][WARN ][watcher ] cannot notify file changes listener
org.elasticsearch.ElasticsearchIllegalArgumentException: script file extension not supported [groovy~]
at org.elasticsearch.script.ScriptService.getScriptEngineServiceForFileExt(ScriptService.java:242)
at org.elasticsearch.script.ScriptService.access$1200(ScriptService.java:83)
at org.elasticsearch.script.ScriptService$ScriptChangesListener.onFileInit(ScriptService.java:491)
at org.elasticsearch.watcher.FileWatcher$FileObserver.onFileCreated(FileWatcher.java:248)
at org.elasticsearch.watcher.FileWatcher$FileObserver.init(FileWatcher.java:156)
at org.elasticsearch.watcher.FileWatcher$FileObserver.createChild(FileWatcher.java:163)
at org.elasticsearch.watcher.FileWatcher$FileObserver.listChildren(FileWatcher.java:180)
at org.elasticsearch.watcher.FileWatcher$FileObserver.onDirectoryCreated(FileWatcher.java:291)
at org.elasticsearch.watcher.FileWatcher$FileObserver.init(FileWatcher.java:152)
at org.elasticsearch.watcher.FileWatcher$FileObserver.access$000(FileWatcher.java:67)
at org.elasticsearch.watcher.FileWatcher.doInit(FileWatcher.java:57)
at org.elasticsearch.watcher.AbstractResourceWatcher.init(AbstractResourceWatcher.java:35)
at org.elasticsearch.watcher.ResourceWatcherService.add(ResourceWatcherService.java:128)
at org.elasticsearch.watcher.ResourceWatcherService.add(ResourceWatcherService.java:121)
at org.elasticsearch.script.ScriptService.<init>(ScriptService.java:197)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:830)
at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93)
at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)
at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:59)
at org.elasticsearch.node.internal.InternalNode.<init>(InternalNode.java:203)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:70)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:213)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
[2015-04-07 11:54:00,335][WARN ][watcher ] cannot notify file changes listener
org.elasticsearch.ElasticsearchIllegalArgumentException: script file extension not supported [mvel~]
at org.elasticsearch.script.ScriptService.getScriptEngineServiceForFileExt(ScriptService.java:242)
at org.elasticsearch.script.ScriptService.access$1200(ScriptService.java:83)
at org.elasticsearch.script.ScriptService$ScriptChangesListener.onFileInit(ScriptService.java:491)
at org.elasticsearch.watcher.FileWatcher$FileObserver.onFileCreated(FileWatcher.java:248)
at org.elasticsearch.watcher.FileWatcher$FileObserver.init(FileWatcher.java:156)
at org.elasticsearch.watcher.FileWatcher$FileObserver.createChild(FileWatcher.java:163)
at org.elasticsearch.watcher.FileWatcher$FileObserver.listChildren(FileWatcher.java:180)
at org.elasticsearch.watcher.FileWatcher$FileObserver.onDirectoryCreated(FileWatcher.java:291)
at org.elasticsearch.watcher.FileWatcher$FileObserver.init(FileWatcher.java:152)
at org.elasticsearch.watcher.FileWatcher$FileObserver.access$000(FileWatcher.java:67)
at org.elasticsearch.watcher.FileWatcher.doInit(FileWatcher.java:57)
at org.elasticsearch.watcher.AbstractResourceWatcher.init(AbstractResourceWatcher.java:35)
at org.elasticsearch.watcher.ResourceWatcherService.add(ResourceWatcherService.java:128)
at org.elasticsearch.watcher.ResourceWatcherService.add(ResourceWatcherService.java:121)
at org.elasticsearch.script.ScriptService.<init>(ScriptService.java:197)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:830)
at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93)
at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)
at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:59)
at org.elasticsearch.node.internal.InternalNode.<init>(InternalNode.java:203)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:70)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:213)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
length.groovy
文件包含以下内容
doc['ids'].length > 1000
我正在使用elasticsearch 1.5
我已将下面的行添加到我的elasticsearch.yml
:
script.disable_dynamic: true
配置文件中没有与groovy / scripts相关的行。