【Elasticsearch】词干提取(Stemming)

词干提取是将一个词还原为其词根形式的过程。这确保了在搜索过程中,一个词的不同变体能够匹配到彼此。

例如,`walking`(行走)和`walked`(走过)可以被还原到同一个词根`walk`(走)。一旦被还原,这两个词中的任何一个在搜索时都能匹配到对方。

词干提取是依赖语言的,但通常涉及从单词中移除前缀和后缀。

在某些情况下,一个词被还原后的词根形式可能并不是一个真实存在的词。例如,`jumping`(跳跃)和`jumpiness`(易跳性)都可以被还原为`jumpi`。尽管`jumpi`并不是一个真正的英语单词,但这并不影响搜索;只要一个词的所有变体都被还原为相同的词根形式,它们就能够正确匹配。

词干提取器分词过滤器

在Elasticsearch中,词干提取是由词干提取器分词过滤器来处理的。这些分词过滤器可以根据它们还原单词的方式被分类为:

• 基于算法的词干提取器,根据一组规则来还原单词。

• 基于词典的词干提取器,通过在词典中查找单词来还原它们。

由于词干提取会改变分词,我们建议在索引和搜索分析时使用相同的词干提取器分词过滤器。

基于算法的词干提取器会对每个单词应用一系列规则,将其还原为词根形式。例如,一个英语的基于算法的词干提取器可能会移除复数单词末尾的`-s`和`-es`后缀。

基于算法的词干提取器有以下一些优点:

• 它们几乎不需要设置,并且通常开箱即用。

• 它们占用的内存较少。

• 它们通常比基于词典的词干提取器更快。

然而,大多数基于算法的词干提取器只改变一个单词的现有文本。这意味着它们可能无法很好地处理那些不包含词根形式的不规则单词,例如:

• `be`(是)、`are`(是)和`am`(是)

• `mouse`(老鼠)和`mice`(老鼠)

• `foot`(脚)和`feet`(脚)

以下分词过滤器使用基于算法的词干提取:

• `stemmer`,为多种语言提供基于算法的词干提取,其中一些语言还有额外的变体。

• `kste

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值