想要提高召回率就需要尽可能匹配相关的文档,其中一个办法就是在索引阶段对词语分析(分词器)的时候提取词干,搜索的时候也取词干。
不取词干
es默认使用的是标准的分词器,是不会取词干的。
但是标准分词器是包含小写转换分词过滤器的,也是可以提高召回率的。
{
"analyzer": "standard",
"text": "I liked apple"
}
{
"tokens": [
{
"token": "i",
"start_offset": 0,
"end_offset": 1,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "liked",
"start_offset": 2,
"end_offset": 7,
"type": "<ALPHANUM>",
"position": 1
},
{
"token": "apple",
"start_offset": 8,
"end_offset": 13,
"type": "<ALPHANUM>",
"position": 2
}
]
}
- 【liked】被分词器切割出来了
那我们使用【liked】进行搜索是能搜索出来的,但是如果我们使用【like】是无法搜索出来的。
那为了提高召回率,我们需要对【liked】二次提取,提取出词干【like】,那么搜索的时候,无论是使用like、liked、liking都能搜索出来了
取词干
使用能取词干的分词器,比如english
{
"analyzer": "english",
"text": "I liked apple"
}
召回率提升策略:词干处理与多字段搜索

文章讨论了如何通过词干提取提高搜索引擎的召回率,指出标准分词器虽不取词干但仍有帮助。提出在内容字段中使用能取词干的分词器,并额外添加一个不取词干的标准分词字段,以便在搜索时结合两种分析方法提升准确性。
最低0.47元/天 解锁文章
31

被折叠的 条评论
为什么被折叠?



