7.4. 同义词搜索

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

同义词搜索

在前面的章节中,我们实现的搜索功能都是基于商品本身的字段值,某个商品想要在某个关键词的搜索结果中出现,就必须在长标题或者内容中出现该关键词,这样对运营人员很不友好,需要给商品配置大量的关键词才能让商品出现的频率提高。

为了解决这个问题,接下来我们将要让搜索引擎支持同义词,比如用户搜索『苹果手机』,那么字段包含『iPhone』的商品也会出现在搜索结果中。

1. 现状

我们现在用『苹果手机』作为关键词看看能搜到什么:

file

可以看到只有一个结果,但实际上我们系统里有两个 iPhone 商品:

file

2. 相关概念

作为目前最强大的开源搜索引擎,Elasticsearch 是支持同义词搜索的,为了更好地理解 Elasticsearch 同义词搜索的工作原理,我们需要先了解一下相关的概念。

  • 分析器:『分析器』是由『字符过滤器』、『分词器』、『词语分析器』...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6

Sher
同义词动态库
2 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
晓鹤
感觉 suggestion 功能也可以讲下
1 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
archy
cd /etc/Elasticsearch/ etc 下没有 Elasticsearch 文件夹!
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.8
d1270469522
添加 search_analyzer : ik_smart_synonym 报错
0 个点赞 | 2 个回复 | 问答 | 课程版本 6.x
西巴以及
第一次执行自定义分析器出现这种情况
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
Flourishing
老师,这样加商品的同义词,为什么搜索不到呢?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5