Skip to content

Commit 33fb6ad

Browse files
committed
fix null exception and update to support es2.1
1 parent ce6424d commit 33fb6ad

File tree

7 files changed

+28
-13
lines changed

7 files changed

+28
-13
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Versions
1111
IK version | ES version
1212
-----------|-----------
1313
master | 2.1.0 -> master
14-
1.5.1 | 2.1.0
14+
1.6.0 | 2.1.0
1515
1.5.0 | 2.0.0
1616
1.4.1 | 1.7.2
1717
1.4.0 | 1.6.0
@@ -231,9 +231,10 @@ have fun.
231231
```bash
232232
git clone https://github.com/medcl/elasticsearch-analysis-ik
233233
cd elasticsearch-analysis-ik
234+
mvn clean
234235
mvn compile
235236
mvn package
236-
copy file #{project_path}/elasticsearch-analysis-ik/target/releases/elasticsearch-analysis-ik-xxx-jar-with-dependencies.jar to your elasticsearch's folder: plugins/ik
237+
copy & unzip file #{project_path}/elasticsearch-analysis-ik/target/releases/elasticsearch-analysis-ik-xxx.zip to your elasticsearch's folder: plugins/ik
237238
```
238239
239240
Thanks

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
<modelVersion>4.0.0</modelVersion>
77
<groupId>org.elasticsearch</groupId>
88
<artifactId>elasticsearch-analysis-ik</artifactId>
9-
<version>1.5.1</version>
9+
<version>1.6.0</version>
1010
<packaging>jar</packaging>
1111
<description>IK Analyzer for ElasticSearch</description>
1212
<inceptionYear>2009</inceptionYear>
1313

1414
<properties>
1515
<elasticsearch.version>2.1.0</elasticsearch.version>
16-
16+
<maven.compiler.target>1.7</maven.compiler.target>
1717
<elasticsearch.assembly.descriptor>${project.basedir}/src/main/assemblies/plugin.xml</elasticsearch.assembly.descriptor>
1818
<elasticsearch.plugin.classname>org.elasticsearch.plugin.analysis.ik.AnalysisIkPlugin</elasticsearch.plugin.classname>
1919
<elasticsearch.plugin.jvm>true</elasticsearch.plugin.jvm>

src/main/java/org/elasticsearch/index/analysis/IkAnalysisBinderProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ public void processAnalyzers(AnalyzersBindings analyzersBindings) {
1818

1919
@Override
2020
public void processTokenizers(TokenizersBindings tokenizersBindings) {
21-
tokenizersBindings.processTokenizer("ik_tokenizer", IkTokenizerFactory.class);
21+
tokenizersBindings.processTokenizer("ik", IkTokenizerFactory.class);
2222
}
2323
}

src/main/java/org/elasticsearch/index/analysis/IkAnalyzerProvider.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package org.elasticsearch.index.analysis;
22

33
import org.elasticsearch.common.inject.Inject;
4+
import org.elasticsearch.common.inject.assistedinject.Assisted;
45
import org.elasticsearch.common.settings.Settings;
56
import org.elasticsearch.env.Environment;
67
import org.elasticsearch.index.Index;
8+
import org.elasticsearch.index.settings.IndexSettingsService;
79
import org.wltea.analyzer.cfg.Configuration;
810
import org.wltea.analyzer.dic.Dictionary;
911
import org.wltea.analyzer.lucene.IKAnalyzer;
@@ -13,10 +15,10 @@ public class IkAnalyzerProvider extends AbstractIndexAnalyzerProvider<IKAnalyzer
1315
private boolean useSmart=false;
1416

1517
@Inject
16-
public IkAnalyzerProvider(Index index, Settings indexSettings,Environment env, String name, Settings settings) {
17-
super(index, indexSettings, name, settings);
18+
public IkAnalyzerProvider(Index index, IndexSettingsService indexSettingsService, Environment env, @Assisted String name, @Assisted Settings settings) {
19+
super(index, indexSettingsService.getSettings(), name, settings);
1820
Dictionary.initial(new Configuration(env));
19-
useSmart = settings.get("use_smart", "false").equals("true");
21+
useSmart = indexSettingsService.getSettings().get("use_smart", "false").equals("true");
2022
analyzer=new IKAnalyzer(useSmart);
2123
}
2224

src/main/java/org/elasticsearch/index/analysis/IkTokenizerFactory.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.elasticsearch.common.settings.Settings;
77
import org.elasticsearch.env.Environment;
88
import org.elasticsearch.index.Index;
9+
import org.elasticsearch.index.settings.IndexSettingsService;
910
import org.wltea.analyzer.cfg.Configuration;
1011
import org.wltea.analyzer.dic.Dictionary;
1112
import org.wltea.analyzer.lucene.IKTokenizer;
@@ -15,9 +16,9 @@ public class IkTokenizerFactory extends AbstractTokenizerFactory {
1516
private boolean useSmart=false;
1617

1718
@Inject
18-
public IkTokenizerFactory(Index index, Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
19-
super(index, indexSettings, name, settings);
20-
this.settings=settings;
19+
public IkTokenizerFactory(Index index, IndexSettingsService indexSettingsService,Environment env, @Assisted String name, @Assisted Settings settings) {
20+
super(index, indexSettingsService.getSettings(), name, settings);
21+
this.settings=indexSettingsService.getSettings();
2122
Dictionary.initial(new Configuration(env));
2223
}
2324

src/main/java/org/elasticsearch/indices/analysis/IKIndicesAnalysis.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44
import org.elasticsearch.common.component.AbstractComponent;
55
import org.elasticsearch.common.inject.Inject;
66
import org.elasticsearch.common.settings.Settings;
7+
import org.elasticsearch.env.Environment;
78
import org.elasticsearch.index.analysis.AnalyzerScope;
89
import org.elasticsearch.index.analysis.PreBuiltAnalyzerProviderFactory;
910
import org.elasticsearch.index.analysis.PreBuiltTokenizerFactoryFactory;
1011
import org.elasticsearch.index.analysis.TokenizerFactory;
12+
import org.wltea.analyzer.cfg.Configuration;
13+
import org.wltea.analyzer.dic.Dictionary;
1114
import org.wltea.analyzer.lucene.IKAnalyzer;
1215
import org.wltea.analyzer.lucene.IKTokenizer;
1316

@@ -21,9 +24,12 @@ public class IKIndicesAnalysis extends AbstractComponent {
2124

2225
@Inject
2326
public IKIndicesAnalysis(final Settings settings,
24-
IndicesAnalysisService indicesAnalysisService) {
27+
IndicesAnalysisService indicesAnalysisService,Environment env) {
2528
super(settings);
29+
Dictionary.initial(new Configuration(env));
30+
2631
this.useSmart = settings.get("use_smart", "false").equals("true");
32+
2733
indicesAnalysisService.analyzerProviderFactories().put("ik",
2834
new PreBuiltAnalyzerProviderFactory("ik", AnalyzerScope.GLOBAL,
2935
new IKAnalyzer(useSmart)));

src/main/java/org/elasticsearch/plugin/analysis/ik/AnalysisIkPlugin.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
package org.elasticsearch.plugin.analysis.ik;
22

33
import org.elasticsearch.common.inject.AbstractModule;
4+
import org.elasticsearch.common.inject.Inject;
45
import org.elasticsearch.common.inject.Module;
56
import org.elasticsearch.common.logging.ESLogger;
67
import org.elasticsearch.common.logging.ESLoggerFactory;
78
import org.elasticsearch.common.settings.Settings;
9+
import org.elasticsearch.env.Environment;
810
import org.elasticsearch.index.analysis.AnalysisModule;
911
import org.elasticsearch.index.analysis.IkAnalysisBinderProcessor;
1012
import org.elasticsearch.indices.analysis.IKIndicesAnalysisModule;
1113
import org.elasticsearch.plugins.Plugin;
14+
import org.wltea.analyzer.cfg.Configuration;
15+
import org.wltea.analyzer.dic.Dictionary;
1216

17+
import java.nio.file.Path;
1318
import java.util.Collection;
1419
import java.util.Collections;
1520
import java.util.logging.Logger;
@@ -19,7 +24,7 @@
1924

2025
public class AnalysisIkPlugin extends Plugin {
2126
private final Settings settings;
22-
27+
@Inject
2328
public AnalysisIkPlugin(Settings settings){
2429
this.settings = settings;
2530
}

0 commit comments

Comments
 (0)