fix null exception and update to support es2.1
This commit is contained in:
parent
ce6424dd3f
commit
33fb6ad67e
@ -11,7 +11,7 @@ Versions
|
|||||||
IK version | ES version
|
IK version | ES version
|
||||||
-----------|-----------
|
-----------|-----------
|
||||||
master | 2.1.0 -> master
|
master | 2.1.0 -> master
|
||||||
1.5.1 | 2.1.0
|
1.6.0 | 2.1.0
|
||||||
1.5.0 | 2.0.0
|
1.5.0 | 2.0.0
|
||||||
1.4.1 | 1.7.2
|
1.4.1 | 1.7.2
|
||||||
1.4.0 | 1.6.0
|
1.4.0 | 1.6.0
|
||||||
@ -231,9 +231,10 @@ have fun.
|
|||||||
```bash
|
```bash
|
||||||
git clone https://github.com/medcl/elasticsearch-analysis-ik
|
git clone https://github.com/medcl/elasticsearch-analysis-ik
|
||||||
cd elasticsearch-analysis-ik
|
cd elasticsearch-analysis-ik
|
||||||
|
mvn clean
|
||||||
mvn compile
|
mvn compile
|
||||||
mvn package
|
mvn package
|
||||||
copy file #{project_path}/elasticsearch-analysis-ik/target/releases/elasticsearch-analysis-ik-xxx-jar-with-dependencies.jar to your elasticsearch's folder: plugins/ik
|
copy & unzip file #{project_path}/elasticsearch-analysis-ik/target/releases/elasticsearch-analysis-ik-xxx.zip to your elasticsearch's folder: plugins/ik
|
||||||
```
|
```
|
||||||
|
|
||||||
Thanks
|
Thanks
|
||||||
|
4
pom.xml
4
pom.xml
@ -6,14 +6,14 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.elasticsearch</groupId>
|
<groupId>org.elasticsearch</groupId>
|
||||||
<artifactId>elasticsearch-analysis-ik</artifactId>
|
<artifactId>elasticsearch-analysis-ik</artifactId>
|
||||||
<version>1.5.1</version>
|
<version>1.6.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<description>IK Analyzer for ElasticSearch</description>
|
<description>IK Analyzer for ElasticSearch</description>
|
||||||
<inceptionYear>2009</inceptionYear>
|
<inceptionYear>2009</inceptionYear>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<elasticsearch.version>2.1.0</elasticsearch.version>
|
<elasticsearch.version>2.1.0</elasticsearch.version>
|
||||||
|
<maven.compiler.target>1.7</maven.compiler.target>
|
||||||
<elasticsearch.assembly.descriptor>${project.basedir}/src/main/assemblies/plugin.xml</elasticsearch.assembly.descriptor>
|
<elasticsearch.assembly.descriptor>${project.basedir}/src/main/assemblies/plugin.xml</elasticsearch.assembly.descriptor>
|
||||||
<elasticsearch.plugin.classname>org.elasticsearch.plugin.analysis.ik.AnalysisIkPlugin</elasticsearch.plugin.classname>
|
<elasticsearch.plugin.classname>org.elasticsearch.plugin.analysis.ik.AnalysisIkPlugin</elasticsearch.plugin.classname>
|
||||||
<elasticsearch.plugin.jvm>true</elasticsearch.plugin.jvm>
|
<elasticsearch.plugin.jvm>true</elasticsearch.plugin.jvm>
|
||||||
|
@ -18,6 +18,6 @@ public class IkAnalysisBinderProcessor extends AnalysisModule.AnalysisBinderProc
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void processTokenizers(TokenizersBindings tokenizersBindings) {
|
public void processTokenizers(TokenizersBindings tokenizersBindings) {
|
||||||
tokenizersBindings.processTokenizer("ik_tokenizer", IkTokenizerFactory.class);
|
tokenizersBindings.processTokenizer("ik", IkTokenizerFactory.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package org.elasticsearch.index.analysis;
|
package org.elasticsearch.index.analysis;
|
||||||
|
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.Index;
|
||||||
|
import org.elasticsearch.index.settings.IndexSettingsService;
|
||||||
import org.wltea.analyzer.cfg.Configuration;
|
import org.wltea.analyzer.cfg.Configuration;
|
||||||
import org.wltea.analyzer.dic.Dictionary;
|
import org.wltea.analyzer.dic.Dictionary;
|
||||||
import org.wltea.analyzer.lucene.IKAnalyzer;
|
import org.wltea.analyzer.lucene.IKAnalyzer;
|
||||||
@ -13,10 +15,10 @@ public class IkAnalyzerProvider extends AbstractIndexAnalyzerProvider<IKAnalyzer
|
|||||||
private boolean useSmart=false;
|
private boolean useSmart=false;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public IkAnalyzerProvider(Index index, Settings indexSettings,Environment env, String name, Settings settings) {
|
public IkAnalyzerProvider(Index index, IndexSettingsService indexSettingsService, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(index, indexSettingsService.getSettings(), name, settings);
|
||||||
Dictionary.initial(new Configuration(env));
|
Dictionary.initial(new Configuration(env));
|
||||||
useSmart = settings.get("use_smart", "false").equals("true");
|
useSmart = indexSettingsService.getSettings().get("use_smart", "false").equals("true");
|
||||||
analyzer=new IKAnalyzer(useSmart);
|
analyzer=new IKAnalyzer(useSmart);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import org.elasticsearch.common.inject.assistedinject.Assisted;
|
|||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.Index;
|
||||||
|
import org.elasticsearch.index.settings.IndexSettingsService;
|
||||||
import org.wltea.analyzer.cfg.Configuration;
|
import org.wltea.analyzer.cfg.Configuration;
|
||||||
import org.wltea.analyzer.dic.Dictionary;
|
import org.wltea.analyzer.dic.Dictionary;
|
||||||
import org.wltea.analyzer.lucene.IKTokenizer;
|
import org.wltea.analyzer.lucene.IKTokenizer;
|
||||||
@ -15,9 +16,9 @@ public class IkTokenizerFactory extends AbstractTokenizerFactory {
|
|||||||
private boolean useSmart=false;
|
private boolean useSmart=false;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public IkTokenizerFactory(Index index, Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public IkTokenizerFactory(Index index, IndexSettingsService indexSettingsService,Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(index, indexSettingsService.getSettings(), name, settings);
|
||||||
this.settings=settings;
|
this.settings=indexSettingsService.getSettings();
|
||||||
Dictionary.initial(new Configuration(env));
|
Dictionary.initial(new Configuration(env));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,10 +4,13 @@ import org.apache.lucene.analysis.Tokenizer;
|
|||||||
import org.elasticsearch.common.component.AbstractComponent;
|
import org.elasticsearch.common.component.AbstractComponent;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.analysis.AnalyzerScope;
|
import org.elasticsearch.index.analysis.AnalyzerScope;
|
||||||
import org.elasticsearch.index.analysis.PreBuiltAnalyzerProviderFactory;
|
import org.elasticsearch.index.analysis.PreBuiltAnalyzerProviderFactory;
|
||||||
import org.elasticsearch.index.analysis.PreBuiltTokenizerFactoryFactory;
|
import org.elasticsearch.index.analysis.PreBuiltTokenizerFactoryFactory;
|
||||||
import org.elasticsearch.index.analysis.TokenizerFactory;
|
import org.elasticsearch.index.analysis.TokenizerFactory;
|
||||||
|
import org.wltea.analyzer.cfg.Configuration;
|
||||||
|
import org.wltea.analyzer.dic.Dictionary;
|
||||||
import org.wltea.analyzer.lucene.IKAnalyzer;
|
import org.wltea.analyzer.lucene.IKAnalyzer;
|
||||||
import org.wltea.analyzer.lucene.IKTokenizer;
|
import org.wltea.analyzer.lucene.IKTokenizer;
|
||||||
|
|
||||||
@ -21,9 +24,12 @@ public class IKIndicesAnalysis extends AbstractComponent {
|
|||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public IKIndicesAnalysis(final Settings settings,
|
public IKIndicesAnalysis(final Settings settings,
|
||||||
IndicesAnalysisService indicesAnalysisService) {
|
IndicesAnalysisService indicesAnalysisService,Environment env) {
|
||||||
super(settings);
|
super(settings);
|
||||||
|
Dictionary.initial(new Configuration(env));
|
||||||
|
|
||||||
this.useSmart = settings.get("use_smart", "false").equals("true");
|
this.useSmart = settings.get("use_smart", "false").equals("true");
|
||||||
|
|
||||||
indicesAnalysisService.analyzerProviderFactories().put("ik",
|
indicesAnalysisService.analyzerProviderFactories().put("ik",
|
||||||
new PreBuiltAnalyzerProviderFactory("ik", AnalyzerScope.GLOBAL,
|
new PreBuiltAnalyzerProviderFactory("ik", AnalyzerScope.GLOBAL,
|
||||||
new IKAnalyzer(useSmart)));
|
new IKAnalyzer(useSmart)));
|
||||||
|
@ -1,15 +1,20 @@
|
|||||||
package org.elasticsearch.plugin.analysis.ik;
|
package org.elasticsearch.plugin.analysis.ik;
|
||||||
|
|
||||||
import org.elasticsearch.common.inject.AbstractModule;
|
import org.elasticsearch.common.inject.AbstractModule;
|
||||||
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.Module;
|
import org.elasticsearch.common.inject.Module;
|
||||||
import org.elasticsearch.common.logging.ESLogger;
|
import org.elasticsearch.common.logging.ESLogger;
|
||||||
import org.elasticsearch.common.logging.ESLoggerFactory;
|
import org.elasticsearch.common.logging.ESLoggerFactory;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.analysis.AnalysisModule;
|
import org.elasticsearch.index.analysis.AnalysisModule;
|
||||||
import org.elasticsearch.index.analysis.IkAnalysisBinderProcessor;
|
import org.elasticsearch.index.analysis.IkAnalysisBinderProcessor;
|
||||||
import org.elasticsearch.indices.analysis.IKIndicesAnalysisModule;
|
import org.elasticsearch.indices.analysis.IKIndicesAnalysisModule;
|
||||||
import org.elasticsearch.plugins.Plugin;
|
import org.elasticsearch.plugins.Plugin;
|
||||||
|
import org.wltea.analyzer.cfg.Configuration;
|
||||||
|
import org.wltea.analyzer.dic.Dictionary;
|
||||||
|
|
||||||
|
import java.nio.file.Path;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
@ -19,7 +24,7 @@ import static java.rmi.Naming.bind;
|
|||||||
|
|
||||||
public class AnalysisIkPlugin extends Plugin {
|
public class AnalysisIkPlugin extends Plugin {
|
||||||
private final Settings settings;
|
private final Settings settings;
|
||||||
|
@Inject
|
||||||
public AnalysisIkPlugin(Settings settings){
|
public AnalysisIkPlugin(Settings settings){
|
||||||
this.settings = settings;
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user