7.2. 分面搜索

分面搜索

现在我们完成了 Elasticsearch 搜索的改造,实现了最基本的搜索功能,接下来我们将要把这个搜索引擎做得更强大。

这一节我们将要实现的功能是分面搜索,我们可以在京东上搜索一下『内存条』:

file

可以看到京东把一些属性聚合在一起并做成了链接,我们可以直接点击链接来进一步筛选商品,这个就叫『分面搜索』。

分面搜索是电商系统搜索引擎一个非常重要的功能,可以帮助用户更方便地搜索到自己想要的商品。

1. 聚合

要实现分面搜索并不是一个简单的事情,我们将一步一步往目标靠近,首先我们试着把搜索结果中所有的商品属性名取出来(即 properties.name),比如上图中的『频率』、『单套容量』,这就需要用到 Elasticsearch 的聚合。

Elastic...

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

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

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

finding
分面搜索 bug?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
Flourishing
老师,这一章感觉难度很大啊
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
xuelong
感觉这个数组形式一个不小心就要写错啊
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
幽弥狂
Elasticsearch 中文文档中没有找到关于分面搜索等文档?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
xll123
报错 [nested] nested path [properties] is not nested
0 个点赞 | 1 个回复 | 问答 | 课程版本 8.x