Code Monkey home page Code Monkey logo

elasticsearch-analysis-dynamic-synonym's Introduction

  • 👋 Hi, I’m @bells
  • 👀 I’m interested in ...
  • 🌱 I’m currently learning ...
  • 💞️ I’m looking to collaborate on ...
  • 📫 How to reach me ...

elasticsearch-analysis-dynamic-synonym's People

Contributors

271285136 avatar ajharry69 avatar bdhoine avatar bells avatar dependabot[bot] avatar hailin0 avatar horizon365 avatar lryong avatar matthewbogner avatar ronaldkonjer avatar wejick avatar wilbertpol avatar wyhw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticsearch-analysis-dynamic-synonym's Issues

es 6.5.4 mvn package失败

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project elasticsearch-analysis-dynamic-synonym: Compilation failure: Compilation failure:
[ERROR] /Users/randyz/Documents/elasticsearch-analysis-dynamic-synonym/src/main/java/com/bellszhu/elasticsearch/plugin/synonym/analysis/LocalSynonymFile.java:[11,39] error: ESLoggerFactory is not public in org.elasticsearch.common.logging; cannot be accessed from outside package
[ERROR] /Users/randyz/Documents/elasticsearch-analysis-dynamic-synonym/src/main/java/com/bellszhu/elasticsearch/plugin/synonym/analysis/RemoteSynonymFile.java:[19,39] error: ESLoggerFactory is not public in org.elasticsearch.common.logging; cannot be accessed from outside package
[ERROR] /Users/randyz/Documents/elasticsearch-analysis-dynamic-synonym/src/main/java/com/bellszhu/elasticsearch/plugin/synonym/analysis/DynamicSynonymTokenFilterFactory.java:[11,39] error: ESLoggerFactory is not public in org.elasticsearch.common.logging; cannot be accessed from outside package
[ERROR] /Users/randyz/Documents/elasticsearch-analysis-dynamic-synonym/src/main/java/com/bellszhu/elasticsearch/plugin/synonym/analysis/LocalSynonymFile.java:[23,35] error: cannot find symbol
[ERROR] class LocalSynonymFile
[ERROR] /Users/randyz/Documents/elasticsearch-analysis-dynamic-synonym/src/main/java/com/bellszhu/elasticsearch/plugin/synonym/analysis/RemoteSynonymFile.java:[38,35] error: cannot find symbol
[ERROR] class RemoteSynonymFile
[ERROR] /Users/randyz/Documents/elasticsearch-analysis-dynamic-synonym/src/main/java/com/bellszhu/elasticsearch/plugin/synonym/analysis/DynamicSynonymTokenFilterFactory.java:[39,35] error: cannot find symbol
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[randyz@mbp ~/Documents/elasticsearch-analysis-dynamic-synonym (master *)]$ mvn package

支持6.4.3

RT. 想支持6.4.3, 改了pom之后发现AnalysisMode 并没有。
你的代码没有打版本分支,不好还原。有什么好的解决办法吗?

没有同义词效果

分析同义词 是有效果的,但是查询时,使用同义词 搜不出数据
image
以下是搜索
image

插件不访问同义词地址

安装了5.6.9插件,同义词拉取一到两次后就不再拉取了,同义词地址不再打日志,插件没有去访问,请问这是怎么了emmmm,

Premature end of Content-Length delimited message body

已经配置好,但是远程请求txt文件报错
elasticsearch 2.4.3

[2017-03-07 14:01:35,553][INFO ][node ] [node.9202.243] started [2017-03-07 14:01:36,553][INFO ][dynamic-synonym ] start reload remote synonym from http://192.168.57.15/xxx/synonym/getdata. [2017-03-07 14:01:36,569][ERROR][dynamic-synonym ] reload remote synonym http://192.168.57.15/xxx/synonym/getdata error! org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 229; received: 0 at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:142) at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:120) at java.util.zip.CheckedInputStream.read(CheckedInputStream.java:59) at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:266) at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:258) at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91) at org.apache.http.client.protocol.ResponseContentEncoding$1.create(ResponseContentEncoding.java:67) at org.apache.http.client.entity.LazyDecompressingInputStream.initWrapper(LazyDecompressingInputStream.java:54) at org.apache.http.client.entity.LazyDecompressingInputStream.read(LazyDecompressingInputStream.java:72) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) at java.io.InputStreamReader.read(InputStreamReader.java:184) at java.io.BufferedReader.fill(BufferedReader.java:161) at java.io.BufferedReader.readLine(BufferedReader.java:324) at java.io.LineNumberReader.readLine(LineNumberReader.java:201) at org.apache.lucene.analysis.synonym.SolrSynonymParser.addInternal(SolrSynonymParser.java:82) at org.apache.lucene.analysis.synonym.SolrSynonymParser.parse(SolrSynonymParser.java:70) at com.bellszhu.elasticsearch.plugin.synonym.analysis.RemoteSynonymFile.reloadSynonymMap(RemoteSynonymFile.java:75) at com.bellszhu.elasticsearch.plugin.synonym.analysis.DynamicSynonymTokenFilterFactory.<init>(DynamicSynonymTokenFilterFactory.java:120) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

已经配置好,但是远程请求txt文件报错(有时报错,有时正常)

[2017-02-08 10:15:25,795][INFO ][dynamic-synonym ] start reload local synonym from synonym.txt.
[2017-02-08 10:15:25,847][INFO ][dynamic-synonym ] start reload remote synonym from http://192.168.199.25/synonym_remote.txt.
[2017-02-08 10:15:25,850][ERROR][dynamic-synonym ] reload remote synonym http://192.168.199.25/synonym_remote.txt error!
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139)
at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155)
at org.apache.http.impl.io.SessionInputBufferImpl.read(SessionInputBufferImpl.java:208)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:178)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:137)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.readLine(BufferedReader.java:317)
at java.io.LineNumberReader.readLine(LineNumberReader.java:199)
at org.apache.lucene.analysis.synonym.SolrSynonymParser.addInternal(SolrSynonymParser.java:82)
at org.apache.lucene.analysis.synonym.SolrSynonymParser.parse(SolrSynonymParser.java:70)
at com.bellszhu.elasticsearch.plugin.synonym.analysis.RemoteSynonymFile.reloadSynonymMap(RemoteSynonymFile.java:75)
at com.bellszhu.elasticsearch.plugin.synonym.analysis.DynamicSynonymTokenFilterFactory.(DynamicSynonymTokenFilterFactory.java:123)
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:50)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:54)
at org.elasticsearch.common.inject.InjectorImpl$5$1.call(InjectorImpl.java:828)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:887)
at org.elasticsearch.common.inject.InjectorImpl$5.get(InjectorImpl.java:823)
at org.elasticsearch.common.inject.assistedinject.FactoryProvider2.invoke(FactoryProvider2.java:236)
at com.sun.proxy.$Proxy39.create(Unknown Source)
at org.elasticsearch.index.analysis.AnalysisService.(AnalysisService.java:161)
at org.elasticsearch.index.analysis.AnalysisService.(AnalysisService.java:66)
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:50)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:887)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:887)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:887)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:201)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:880)
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.InjectorImpl.createChildInjector(InjectorImpl.java:159)
at org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:55)
at org.elasticsearch.indices.IndicesService.createIndex(IndicesService.java:358)
at org.elasticsearch.indices.cluster.IndicesClusterStateService.applyNewIndices(IndicesClusterStateService.java:294)
at org.elasticsearch.indices.cluster.IndicesClusterStateService.clusterChanged(IndicesClusterStateService.java:163)
at org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:600)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:762)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

是否需要重启index

Hi,
今天一直在考虑更新了同义词字典之后,es没法重新加载的问题。后来发现只要将index close了再open就可以了。
当然也看到了你的插件,正在看源码,写得很清晰而且注释很完备!
不过想问一个问题,不知道你的插件的原理是什么呢?是我上面说的,在检测到synonym的file有更新之后,就将index关闭再开启吗?
以及感觉你的插件和https://github.com/lindstromhenrik/elasticsearch-analysis-file-watcher-synonym 这个插件功能上有点类似是吗?
谢谢!

Bug:RemoteSynonymFile

RemoteSynonymFile里 getReader再finally里把http链接关闭了。导致SolrSynonymParser再读取内容的时候发生SocketClosedException

配置多个remote_synonym出错

在一个索引中配置了4个同义词分词器,除了第一个之外,其余均不可用。

报错信息为:

{
"error": {
"root_cause": [
{
"type": "remote_transport_exception",
"reason": "[SBhupSD][101.200.196.248:9300][indices:admin/analyze[s]]"
}
],
"type": "illegal_argument_exception",
"reason": "fst must be non-null"
},
"status": 400
}

es版本是6.6.2 ,望解答,感谢!

Assembly ID required

Hello,

I've tried to compile with mvn package, but it didn't work:

[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.4.1:single (default) on project elasticsearch-analysis-dynamic-synonym: Assembly is incorrectly configured: Assembly is incorrectly
configured:
[ERROR] Assembly:  is not configured correctly: Assembly ID must be present and non-empty.
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.4.1:single (default) on project elasticsearch-analysis-dynamic-synonym: Assembly is
incorrectly configured:
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoFailureException: Assembly is incorrectly configured:
        at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:479)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
        ... 20 more
[ERROR]

Modifying src/main/assemblies/plugin.xml works, but i don't know if this has any side effects?

--- a/src/main/assemblies/plugin.xml
+++ b/src/main/assemblies/plugin.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <assembly>
-    <id></id>
+   <id>elasticsearch-analysis-dynamic-synonym</id>
$ mvn --version
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.35-2-pve", arch: "amd64", family: "unix"

$  java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-8u121-b13-0ubuntu1.16.04.2-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

2.2.0版本插件 一直在疯狂打印日志 “success reload synonym”

您好:

我用的2.2.0插件,更新同义词文件后,触发实时更新,偶尔该插件会疯狂打印日志“success reload synonym”,

跟踪程序代码,打印日志所在地:DynamicSynonymTokenFilterFactory.java +160

请问什么情况下会触发这种情况呢,多谢解答

索引使用该库后,无法restore,望解决

ES: 6.3.0
原索引使用热更新同义词备份后, restore时会出现异常。

[node-3] failing shard [failed shard, shard [log_201903][0], node[64Wmq1ukRoWUxFK8eRbnpQ], [P], recovery_source[snapshot recovery from backup:2019031403/7wMm5SKzTzmsyabhynrY0g], s[INITIALIZING], a[id=2UWaSbMfTTCq0Fl2gvWU7g], unassigned_info[[reason=NEW_INDEX_RESTORED], at[2019-03-14T09:16:50.061Z], delayed=false, details[restore_source[backup/2019031403]], allocation_status[fetching_shard_data]], message [failed to create index], failure [NullPointerException[null]], markAsStale [true]]
java.lang.NullPointerException: null
at com.bellszhu.elasticsearch.plugin.synonym.analysis.RemoteSynonymFile.isNeedReloadSynonymMap(RemoteSynonymFile.java:193) ~[?:?]
at com.bellszhu.elasticsearch.plugin.synonym.analysis.RemoteSynonymFile.(RemoteSynonymFile.java:69) ~[?:?]
at com.bellszhu.elasticsearch.plugin.synonym.analysis.DynamicSynonymTokenFilterFactory.(DynamicSynonymTokenFilterFactory.java:98) ~[?:?]
at com.bellszhu.elasticsearch.plugin.DynamicSynonymPlugin$1.get(DynamicSynonymPlugin.java:69) ~[?:?]
at com.bellszhu.elasticsearch.plugin.DynamicSynonymPlugin$1.get(DynamicSynonymPlugin.java:64) ~[?:?]
at org.elasticsearch.index.analysis.AnalysisRegistry.buildMapping(AnalysisRegistry.java:344) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.index.analysis.AnalysisRegistry.buildTokenFilterFactories(AnalysisRegistry.java:172) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.index.analysis.AnalysisRegistry.build(AnalysisRegistry.java:156) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.index.IndexService.(IndexService.java:162) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.index.IndexModule.newIndexService(IndexModule.java:367) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.indices.IndicesService.createIndexService(IndicesService.java:453) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.indices.IndicesService.createIndex(IndicesService.java:407) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.indices.IndicesService.createIndex(IndicesService.java:144) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.indices.cluster.IndicesClusterStateService.createIndices(IndicesClusterStateService.java:452) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.indices.cluster.IndicesClusterStateService.applyClusterState(IndicesClusterStateService.java:228) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.cluster.service.ClusterApplierService.lambda$callClusterStateAppliers$6(ClusterApplierService.java:496) ~[elasticsearch-6.3.0.jar:6.3.0]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_201]
at org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(ClusterApplierService.java:493) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.cluster.service.ClusterApplierService.applyChanges(ClusterApplierService.java:480) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.cluster.service.ClusterApplierService.runTask(ClusterApplierService.java:431) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.cluster.service.ClusterApplierService$UpdateTask.run(ClusterApplierService.java:161) ~[elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:625) [elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:244) [elasticsearch-6.3.0.jar:6.3.0]
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:207) [elasticsearch-6.3.0.jar:6.3.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_201]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

请问只支持你提供的这几个版本吗?2.3.4或2.3.6不支持吗?

Exception in thread "main" java.lang.IllegalArgumentException: Plugin [analysis-dynamic-synonym] is incompatible with Elasticsearch [2.3.4]. Was designed for version [5.2.0]
at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:118)
at org.elasticsearch.plugins.PluginsService.getPluginBundles(PluginsService.java:378)
at org.elasticsearch.plugins.PluginsService.(PluginsService.java:128)
at org.elasticsearch.node.Node.(Node.java:158)
at org.elasticsearch.node.Node.(Node.java:140)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:143)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.

No license

Hello. I would like to try your plugin, but I do not see a license attached to it. What are the terms of use?

ES6.5.1版本使用插件后,后台看到更新,但实际使用时不见效果

ES6.5.1版本使用插件后,后台看到更新,但实际使用时不见效果,是什么原因,怎么解决?谢谢。
{
"number_of_shards" : 1,
"number_of_replicas" : 0,
"analysis" : {
"analyzer" : {
"ik_syno_smart" : {
"type" : "custom",
"tokenizer" : "ik_smart",
"filter" : ["my_stop_filter", "my_syno_filter"],
"char_filter" : ["my_char_filter"]
},
"ik_syno_max_word" : {
"type" : "custom",
"tokenizer" : "ik_max_word",
"filter" : ["my_syno_filter", "my_stop_filter"],
"char_filter" : ["my_char_filter"]
}
},
"filter" : {
"my_stop_filter" : {
"type" : "stop",
"stopwords" : [" "]
},
"my_syno_filter" : {
"type" : "dynamic_synonym",
"synonyms_path" : "analysis/synonyms.txt",
"interval": 30
}
},
"char_filter" : {
"my_char_filter" : {
"type" : "mapping",
"mappings" : ["| => |"]
}
}
}
}

远程http服务挂了,ES搜索查询异常

java.lang.IllegalArgumentException: could not reload remote synonyms file to build synonyms
at com.bellszhu.elasticsearch.plugin.synonym.analysis.RemoteSynonymFile.reloadSynonymMap(RemoteSynonymFile.java:80)
at com.bellszhu.elasticsearch.plugin.synonym.analysis.DynamicSynonymTokenFilterFactory.(DynamicSynonymTokenFilterFactory.java:120)
at sun.reflect.GeneratedConstructorAccessor32.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:50)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:54)
at org.elasticsearch.common.inject.InjectorImpl$4$1.call(InjectorImpl.java:823)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)
at org.elasticsearch.common.inject.InjectorImpl$4.get(InjectorImpl.java:818)
at org.elasticsearch.common.inject.assistedinject.FactoryProvider2.invoke(FactoryProvider2.java:236)
at com.sun.proxy.$Proxy15.create(Unknown Source)
at org.elasticsearch.index.analysis.AnalysisService.(AnalysisService.java:151)
at org.elasticsearch.index.analysis.AnalysisService.(AnalysisService.java:70)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:50)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:201)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:879)
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.InjectorImpl.createChildInjector(InjectorImpl.java:157)
at org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:55)
at org.elasticsearch.indices.IndicesService.createIndex(IndicesService.java:358)
at org.elasticsearch.cluster.metadata.MetaDataCreateIndexService$1.execute(MetaDataCreateIndexService.java:309)
at org.elasticsearch.cluster.ClusterStateUpdateTask.execute(ClusterStateUpdateTask.java:45)
at org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:468)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:772)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: IOException while reading remote synonyms file
at com.bellszhu.elasticsearch.plugin.synonym.analysis.RemoteSynonymFile.getReader(RemoteSynonymFile.java:128)
at com.bellszhu.elasticsearch.plugin.synonym.analysis.RemoteSynonymFile.reloadSynonymMap(RemoteSynonymFile.java:67)
... 63 more
Caused by: NotSerializableExceptionWrapper[http_host_connect_exception: Connect to 127.0.0.1:8080 [/127.0.0.1] failed: Connection refused: connect]; nested: NotSerializableExceptionWrapper[connect_exception: Connection refused: connect];
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
at com.bellszhu.elasticsearch.plugin.synonym.analysis.RemoteSynonymFile.getReader(RemoteSynonymFile.java:100)
... 64 more
Caused by: NotSerializableExceptionWrapper[connect_exception: Connection refused: connect]
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)
... 74 more

对于不等长的同义词,会把同义词转换出来的结果再次切分

ES版本7.3.1,
同义词的配置如下:

男人,男孩,男子,男性,男孩子,男同胞

mapping配置如下:

PUT test_index
{
  "settings": {
    "number_of_shards": 1, 
    "analysis": {
       "filter": {
	         "remote_synonym" : {
	             "type":"dynamic_synonym",
	             "synonyms_path":"http://localhost:8083/file/synonym.txt"
	         }
      },
      "analyzer": {
        "ik_syno":{
          "type":"custom",
          "tokenizer":"ik_smart",
          "filter":["remote_synonym"]
        },
        "ik_syno_max":{
          "type":"custom",
          "tokenizer":"ik_max_word",
          "filter":["remote_synonym"]
        }
      }
    }
  },
  "mappings": {
    
      "properties": {
        "item_name":{
          "type": "text",
          "analyzer": "ik_smart",
          "search_analyzer": "ik_smart"
        }
      }
    
  }
}

analyze请求为:

GET test_synonym/_analyze
{
  "field": "item_name", 
  "text":"男人"
}

分词结果如下:

{
  "tokens" : [
    {
      "token" : "男人",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "男孩",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "SYNONYM",
      "position" : 0
    },
    {
      "token" : "男子",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "SYNONYM",
      "position" : 0
    },
    {
      "token" : "男性",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "SYNONYM",
      "position" : 0
    },
    {
      "token" : "男孩子",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "SYNONYM",
      "position" : 0
    },
    {
      "token" : "男同胞",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "SYNONYM",
      "position" : 0
    },
    {
      "token" : "男孩",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "SYNONYM",
      "position" : 1
    },
    {
      "token" : "同胞",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "SYNONYM",
      "position" : 1
    },
    {
      "token" : "孩子",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "SYNONYM",
      "position" : 2
    }
  ]
}

1.6.0版本mvn package失败

以下是mvn package 的报错信息。请大神看一下错误原因。
[DEBUG] -d C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\target\classes -classpath C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\target\classes;D:\WorkSpaces\MvnRepository\org\elasticsearch\elasticsearch\1.6.0\elasticsearch-1.6.0.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-core\4.10.4\lucene-core-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-analyzers-common\4.10.4\lucene-analyzers-common-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-queries\4.10.4\lucene-queries-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-memory\4.10.4\lucene-memory-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-highlighter\4.10.4\lucene-highlighter-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-queryparser\4.10.4\lucene-queryparser-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-sandbox\4.10.4\lucene-sandbox-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-suggest\4.10.4\lucene-suggest-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-misc\4.10.4\lucene-misc-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-join\4.10.4\lucene-join-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-grouping\4.10.4\lucene-grouping-4.10.4.jar;D:\WorkSpaces\MvnRepository\org\apache\lucene\lucene-spatial\4.10.4\lucene-spatial-4.10.4.jar;D:\WorkSpaces\MvnRepository\com\spatial4j\spatial4j\0.4.1\spatial4j-0.4.1.jar;D:\WorkSpaces\MvnRepository\org\antlr\antlr-runtime\3.5\antlr-runtime-3.5.jar;D:\WorkSpaces\MvnRepository\org\ow2\asm\asm\4.1\asm-4.1.jar;D:\WorkSpaces\MvnRepository\org\ow2\asm\asm-commons\4.1\asm-commons-4.1.jar;D:\WorkSpaces\MvnRepository\org\yaml\snakeyaml\1.12\snakeyaml-1.12.jar;D:\WorkSpaces\MvnRepository\org\apache\httpcomponents\httpclient\4.4.1\httpclient-4.4.1.jar;D:\WorkSpaces\MvnRepository\org\apache\httpcomponents\httpcore\4.4.1\httpcore-4.4.1.jar;D:\WorkSpaces\MvnRepository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\WorkSpaces\MvnRepository\commons-codec\commons-codec\1.9\commons-codec-1.9.jar; -sourcepath C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java; C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\LocalSynonymFile.java C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\DynamicSynonymFilter.java C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\RemoteSynonymFile.java C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\DynamicSynonymPlugin.java C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\DynamicSynonymTokenFilterFactory.java C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\SynonymFile.java -s C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\target\generated-sources\annotations -g -nowarn -target 1.6 -source 1.6 -encoding UTF-8
[INFO] Compiling 6 source files to C:\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] \Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\DynamicSynonymFilter.java:[699,27] 错误: -source 1.6 中不支持 diamond 运算符
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.564 s
[INFO] Finished at: 2016-12-14T18:29:34+08:00
[INFO] Final Memory: 11M/123M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project elasticsearch-analysis-dynamic-synonym: Compilation failure
[ERROR] \Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\DynamicSynonymFilter.java:[699,27] 错误: -source 1.6 中不支持 diamond 运算符
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project elasticsearch-analysis-dynamic-synonym: Compilation failure
\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\DynamicSynonymFilter.java:[699,27] 错误: -source 1.6 中不支持 diamond 运算符

    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
\Users\YUE\Desktop\elasticsearch-analysis-dynamic-synonym-1.6.0\src\main\java\com\bellszhu\elasticsearch\plugin\synonym\analysis\DynamicSynonymFilter.java:[699,27] 错误: -source 1.6 中不支持 diamond 运算符

    at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:656)
    at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    ... 20 more

[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

使用同义词多次请求,有很大概率请求不到数据

问题描述

  • 索引配置信息
{
   "test": {
      "aliases": {},
      "mappings": {
         "test": {
            "properties": {
               "text_1": {
                  "type": "string",
                  "analyzer": "synonym"
               }
            }
         }
      },
      "settings": {
         "index": {
            "creation_date": "1482891562524",
            "analysis": {
               "filter": {
                  "remote_synonym": {
                     "type": "dynamic_synonym",
                     "synonyms_path": "http://IP:PORT/waf_file/files/sw",
                     "interval": "30"
                  }
               },
               "analyzer": {
                  "synonym": {
                     "filter": [
                        "remote_synonym"
                     ],
                     "tokenizer": "ik"
                  }
               }
            },
            "number_of_shards": "5",
            "number_of_replicas": "1",
            "uuid": "NMZ4fUryRXyoZ057lQrhDA",
            "version": {
               "created": "2030299"
            }
         }
      },
      "warmers": {}
   }
}
  • 创建一条数据
PUT /test/test/1?pretty=1
{
   "text_1" : "水的密度很大"
}
  • 使用如下语法查询数次
GET /test/_search
{
    "query": {
        "query_string": {
           "default_field": "text_1",
           "analyzer": "synonym", 
           "query": "density"
        }
    }
}
  • 在文件中新增同义词:密度, density
  • 查询语法
GET /test/_search
{
    "query": {
        "query_string": {
           "default_field": "text_1",
           "analyzer": "synonym", 
           "query": "density"
        }
    }
}
  • 可以查到文档
{
   "took": 1,
   "timed_out": false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 1,
      "max_score": 0.16609077,
      "hits": [
         {
            "_index": "test",
            "_type": "test",
            "_id": "15",
            "_score": 0.16609077,
            "_source": {
               "text_1": "水的密度很大"
            }
         }
      ]
   }
}
  • 多次请求有很大概率无法检索到文档
{
   "took": 1,
   "timed_out": false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 0,
      "max_score": null,
      "hits": []
   }
}

做过如下尝试

  • shard = 1, replia = 1,不会出现上述问题
  • shard =5, replia = 1,单机两个 ES 组成集群,问题依旧存在
  • 重启ES,不会出现上述问题

不知道问题出在哪里,需要大家的帮助

删除索引后ES服务器后台对应的同义词线程仍然运行的问题???

使用同义词插件V5.2.0发现一个很严重的问题:
当删掉配有同义词过滤器的索引后,该索引对应的同义词线程仍照常运行。
记得之前的版本比如V2.3.0中有一个索引监听器,当监听到索引被删除时就会触发终止同义词线程的事件,代码如下:
indicesService.indicesLifecycle().addListener(new IndicesLifecycle.Listener()
{
@OverRide
public void beforeIndexClosed(IndexService indexService)
{
if (indexService.index().getName().equals(indexName))
{
scheduledFuture.cancel(false);
}
}
});
但新版本中没有该实现!!!
有没有人遇到同样的问题啊?求解!

不动态更新

我设置了30秒请求一次,但是初始化加载之后就不再请求了!

Null pointer exception on ES 5.2.0

Is this supposed to work on Elasticsearch 5.2? I'm getting the following error:

        at com.bellszhu.elasticsearch.plugin.synonym.analysis.DynamicSynonymTokenFilterFactory.<init>(DynamicSynonymTokenFilterFactory.java:94) ~[?:?]
        at com.bellszhu.elasticsearch.plugin.DynamicSynonymPlugin$1.get(DynamicSynonymPlugin.java:68) ~[?:?]
        at com.bellszhu.elasticsearch.plugin.DynamicSynonymPlugin$1.get(DynamicSynonymPlugin.java:63) ~[?:?]
        at org.elasticsearch.index.analysis.AnalysisRegistry.buildMapping(AnalysisRegistry.java:342) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.index.analysis.AnalysisRegistry.buildTokenFilterFactories(AnalysisRegistry.java:171) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.index.analysis.AnalysisRegistry.build(AnalysisRegistry.java:155) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.index.IndexService.<init>(IndexService.java:146) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.index.IndexModule.newIndexService(IndexModule.java:363) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.indices.IndicesService.createIndexService(IndicesService.java:425) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.indices.IndicesService.createIndex(IndicesService.java:390) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.cluster.metadata.MetaDataCreateIndexService$1.execute(MetaDataCreateIndexService.java:362) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.cluster.ClusterStateUpdateTask.execute(ClusterStateUpdateTask.java:45) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.cluster.service.ClusterService.executeTasks(ClusterService.java:674) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.cluster.service.ClusterService.calculateTaskOutputs(ClusterService.java:653) ~[elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.cluster.service.ClusterService.runTasks(ClusterService.java:612) [elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.cluster.service.ClusterService$UpdateTask.run(ClusterService.java:1112) [elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:527) [elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:238) [elasticsearch-5.2.0.jar:5.2.0]
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:201) [elasticsearch-5.2.0.jar:5.2.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_102]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_102]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102]

6.4版本报错

Unknown properties in plugin descriptor: [jvm, site, isolated]

集群部署,过一天热更新失效

我在集群上都部署了此插件,当索引创建和open那一段时间热更新是一直在进行的。但过了一天甚至更长时间后,热更新貌似失效了,只有靠关闭索引并再开启才能拉取新的文件,请问这是什么情况,呜呜呜。有人遇到过么

Local file not work by default: Java security policy - Missing installation instructions

I was bitten by that;
ElasticSearch has the Security Manager enabled by default, so access is forbidden to any files,

one has to add the whitelist to java.policy as written here:
http://stackoverflow.com/questions/35401917/reading-a-file-in-an-elasticsearch-plugin

for example, I added that line to my $JAVA_HOME/lib/security/java.policy

grant {
       permission java.io.FilePermission "/usr/share/elasticsearch/synonyms.txt", "read,write";
  1. could we add a section in th README describing that steps
  2. better: Could we add a plugin policy which grants read/write access to all files by default?

es5.4.1版本空指针问题

作者大大 5.4.1版本的用的 master版本报错空指针 堆栈显示 com.bellszhu.elasticsearch.plugin.synonym.analysis.DynamicSynonymTokenFilterFactory.(DynamicSynonymTokenFilterFactory.java:94) 这个为空请问是版本不兼容问题么

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.