今天一大早,估计很多人都在试着在这个网站搜索IPX
关键字吧。
这算是一个非常严重的网站设计的事故了。这里,我们不过多讨论幕后的事情和其可能的社会影响力。专注在技术上,有两个事情我们值得思考:
- 如何做一个网站的站内搜索
- 如何监控和分析网站的搜索和点击流量,及时获得反馈
网站的站内搜索
从技术选型的角度看,毋庸置疑的,使用elasticsearch作为站内搜索的底层引擎。
Elasticsearch是一个强大的搜索和数据分析引擎,因此使用它做网站内搜索的原因包括:它提供了高效的搜索算法,能够处理大量数据;它支持多种数据源,如文本,数字,日期等;它具有强大的索引,查询和分析功能;它支持分布式架构,可以提供更高的可用性和可扩展性;它提供了友好的RESTful API,方便接入其他系统。
而具体到网站站内搜索,在设计上会涉及到以下问题:
- 如何对网站内的内容建立索引
- 如何将搜索框嵌入网站的主体,并提供现代的搜索体验
对网站的内容建立索引
通常,我们有两种方式来构建索引:
- 直接在数据库的数据上做索引
- 通过爬虫的方式做索引
这两者都可以,但在实际应用中,通过爬虫的方式做索引更常用,因为爬虫可以遍历整个网站,并从网页内容中提取所需信息并建立索引,比较方便,而直接在数据库上做索引则要求手动维护索引,并且数据库有可能存储的数据格式不适合做索引,比较麻烦。
将搜索框嵌入网站的主体,并提供现代的搜索体验
现代应用搜索的用户界面应该高度关注用户体验,提供直观易用的操作流程。
首先,搜索界面应该简洁明了,易于使用。它应该包含一个显眼的搜索框,以及对搜索结果的预览。用户应该能够轻松地输入搜索关键字,然后获得相关结果。
其次,好的搜索UI应该具有良好的自动完成功能,在用户输入关键字时能够快速地显示出相关提示,这可以提高用户的搜索效率,减少搜索失误的情况。
而搜索结果应该完全相关,包含完整的信息。搜索引擎应该在索引创建时考虑到搜索词的语义,以提供更相关的结果。搜索结果还应该显示完整的信息,例如文章标题,作者,发布日期,简介,图片等。这有助于用户快速评估搜索结果的相关性,以选择最适合的结果。
再次,搜索结果应该是排名的。搜索结果应该根据关键字相关性,或者其他用户感兴趣的条目(比如时间)进行排名,以使最相关的结果排在最前面。这有助于用户快速找到所需的信息。
再者,好的搜索UI应该支持灵活的搜索结果排序、筛选功能。例如,用户可以根据发布日期、评分等排序,以获得更准确的搜索结果。此外,搜索结果应该能够以简洁的方式呈现,便于用户快速的阅读和判断。
因此,在将搜索功能嵌入网站时,一个好的搜索UI设计应该包含以下的功能:
- 搜索框:输入提示
- 搜索框:输入容错
- 搜索框:结果预览
- 搜索条件分类
- 搜索过滤条件
- 搜索结果多维展示
- 搜索结果多维排序
搜索的运营
仅有搜索功能是不够的。对于一个网站的运营者来说,我们还应该时刻关注我们提供的搜索能力是否满足了用户的需求,并且是在以我们期望的方式运行的。
至少应该包括这些能力:
- 提供相关性调整的工具,以对搜索结果提供人为的干涉途径,以进一步优化提供信息的准确度和相关性。比如,直接禁止
IPX
关键字的搜索,而不是关停整个网站 - 也包括网站搜索流量和趋势的持续监控,查明问题并发现客户行为的变化。比如,能够根据搜索流量和趋势的仪表板,及时发现
IPX
关键字搜索趋势的变化,而不是等到投诉电话打进来才知道发生了舆情事故
因此,网站搜索不仅仅是需要在底层搜索引擎和前端搜索UI中实现高效和用户友好的搜索体验。同时,还需要一个运营系统来管理整个搜索体验。这个运营系统的职责包括管理网站的整体网关,实现对后端的调整,监控流量审计等。这个运营系统对于网站搜索体验的成功至关重要,可以通过监测数据,确保搜索功能在期望的方式工作。因此,一个完整的搜索架构应该包括搜索引擎,前端搜索UI和运营系统,以保证最佳的搜索体验。
Elastic已提供了你所需要的一切
上面提到的正确的做网站搜索的核心要素,虽然在业内已经算是标准的需求,但如果我们耐心查看平时所接触到的一些提供站内搜索功能的网站,特别是企事业单位的网站,你会发现他们的数字化转型还是有很多不足的,一些我们看来习以为常的线上服务功能是有缺陷的。因此,我们可以看到,虽然这是一个标准的需求,但现实情况却与理论有很大差距。许多网站仍然缺乏这些关键要素,导致用户体验受到影响,不能很好地实现数字化转型。
而一个包装好的完善的解决方案将是解决这个问题的一个很好路径,相比于靠人际信任为基础的外包商的选择,一个完整的功能需求列表,以及提供了这个列表上所有功能的软件更值得信任。
具体可访问