elasticsearch - 用于 Elasticsearch 的自定义语言提取器

标签 elasticsearch nlp stemming

有什么方法可以创建新的词干分析器?例如,捷克语词干分析器已经内置了捷克语分析器。这个算法是由荷兰的一些人制作的。没那么糟糕,但对于母语人士来说,很明显那些可敬的人不会说这种语言。如果我想创建自己的词干提取算法,我该如何在 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/

相关文章:

java - 如何找到解析树中节点的路径

python - 解析替换引号

sphinx 形态 stem_en 不工作

nlp - Hunspell 词缀条件正则表达式格式。有什么方法可以匹配开始吗?

elasticsearch - Elasticsearch中如何Group By查询?

elasticsearch - 在ElasticSearch 7.6中搜索别名时,如何仅从一个索引读取并将另一个索引设置为write?

node.js:使用用户定义的id在elasticsearch中进行数据索引

python - 保存在 Tensorflow 模型中的自定义文本预处理

python - NLTK 单词词形还原

c# - Geo_Point 属性未按预期编制索引