diff --git a/pom.xml b/pom.xml index 8323892b639aca5f87e0d284a0a6d6f6dd11e00e..7a92f90d130891b80badb12cbab6e912c71ce0f2 100644 --- a/pom.xml +++ b/pom.xml @@ -3,8 +3,13 @@ 4.0.0 org.huidao IKAnalyzer - 0.0.1-SNAPSHOT + 0.0.1-smart + + 4.12 + 1.2.17 + 1.6.4 + @@ -24,7 +29,24 @@ lucene-analyzers-common 4.10.3 - + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + + + log4j + log4j + ${log4j.version} + + + + junit + junit + ${junit.version} + test + diff --git a/src/main/java/org/huidao/lucene/analysis/ik/IKTokenizerFactory.java b/src/main/java/org/huidao/lucene/analysis/ik/IKTokenizerFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..50d01aecbd937286eecba5bfedb4364a643c522e --- /dev/null +++ b/src/main/java/org/huidao/lucene/analysis/ik/IKTokenizerFactory.java @@ -0,0 +1,48 @@ +package org.huidao.lucene.analysis.ik; + +import java.io.Reader; +import java.util.Map; + +import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter; +import org.apache.lucene.analysis.ngram.EdgeNGramTokenizer; +import org.apache.lucene.analysis.util.TokenizerFactory; +import org.apache.lucene.util.AttributeFactory; +import org.wltea.analyzer.lucene.IKTokenizer; + +/** + * 汇道科技 + * + * @author 陈吉林 + * @date 创建于:2017年4月1日 上午10:28:10 + */ +public class IKTokenizerFactory extends TokenizerFactory { + private final boolean useSmart; + + /** + * 支持solr的schema.xml文件中配置智能分词功能!! + * + * + * + * + * @param args + */ + public IKTokenizerFactory(Map args) { + super(args); + useSmart = getBoolean(args, "useSmart", false); + if (!args.isEmpty()) { + throw new IllegalArgumentException("Unknown parameters: " + args); + } + } + + @Override + public Tokenizer create(AttributeFactory factory, Reader input) { + Tokenizer ik = new IKTokenizer(input, this.useSmart); + return ik; + } + +} diff --git a/src/test/java/org/huidao/lucene/analysis/ik/IKTokenizerFactoryTest.java b/src/test/java/org/huidao/lucene/analysis/ik/IKTokenizerFactoryTest.java new file mode 100644 index 0000000000000000000000000000000000000000..185b1031e19b2018200a65bfcf432b81e5d1b77d --- /dev/null +++ b/src/test/java/org/huidao/lucene/analysis/ik/IKTokenizerFactoryTest.java @@ -0,0 +1,18 @@ +package org.huidao.lucene.analysis.ik; + +import static org.junit.Assert.*; + +import org.junit.Test; +/** + * 汇道科技 + * @author 陈吉林 + * @date 创建于:2017年4月1日 上午10:31:41 + */ +public class IKTokenizerFactoryTest { + + @Test + public void test() { + IKTokenizerFactory ikf = new IKTokenizerFactory(null); + } + +}