Elasticsearch的自定义语言词干

时间:2014-11-28 10:04:02

标签: elasticsearch nlp stemming

有没有办法如何创建新的词干分析器?例如,捷克语语言词干器已经内置了捷克语语言分析器。这个算法是由荷兰的一些人制作的。它并没有那么糟糕,但对于以英语为母语的人来说,很明显那些尊贵的人不会说这种语言。如果我想创建自己的词干分析算法,我怎么能在Elasticsearch中做到这一点?

感谢。

1 个答案:

答案 0 :(得分:1)

Elasticsearch基于Lucene,所以这个答案是关于如何向Lucene添加自定义词干分析器。

这就是我基于自定义词干分析器(或更加精确的词形变换器)实现Lucene的Analyzer接口的方法:

https://code.google.com/p/hunglish-webapp/source/browse/trunk/src/main/java/hu/mokk/hunglish/lucene/analysis/StemmerAnalyzer.java

另见这两个类: https://code.google.com/p/hunglish-webapp/source/browse/trunk/src/main/java/hu/mokk/hunglish/lucene/analysis/CompoundStemmerTokenFilter.java

https://code.google.com/p/hunglish-webapp/source/browse/trunk/src/main/java/hu/mokk/hunglish/jmorph/LemmatizerWrapper.java

请注意,这适用于较旧版本的Lucene,3.2 / 3.3。对于新版本,相同的实现可能更简单。 https://code.google.com/p/hunglish-webapp/source/browse/trunk/pom.xml