magese/ik-analyzer-solr

分词结果过滤单个字符

lyle-w opened this issue · 2 comments

请问分词结果怎么过滤单个字符呢?如果源词就只有一个字符那么就直接返回源词,如果原来的词是多个字符例如 “我是**人”, 那么分词结果只保留 “我是**人”, “我是”,“**人”, “**”,不再要“人”

请问分词结果怎么过滤单个字符呢?如果源词就只有一个字符那么就直接返回源词,如果原来的词是多个字符例如 “我是**人”, 那么分词结果只保留 “我是**人”, “我是”,“**人”, “**”,不再要“人”

这个需求可以使用solr自带的 Length Filter 过滤器来实现。

示例如下:

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.LengthFilterFactory" min="2" max="7"/>
</analyzer>
参数名 参数值 描述
min int 必填 指定最小的token长度
max int 必须大于min 指定最大的token长度

将该过滤器配置在 ik 分词器的过滤器列表里即可。

十分感谢🙏