有什么方法可以创建新的词干分析器?例如,捷克语词干分析器已经内置了捷克语分析器。这个算法是由荷兰的一些人制作的。没那么糟糕,但对于母语人士来说,很明显那些可敬的人不会说这种语言。如果我想创建自己的词干提取算法,我该如何在 Elasticsearch 中实现?
谢谢。
最佳答案
Elasticsearch 基于 Lucene,所以这个答案是关于如何向 Lucene 添加自定义词干分析器。
这就是我基于自定义词干分析器(或词形还原器,更准确地说)实现 Lucene 分析器接口(interface)的方式:
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
关于elasticsearch - 用于 Elasticsearch 的自定义语言提取器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27186198/