后端、接口与数据 · 进阶

搜索:数据库什么时候不够用了

一句话: 带相关性排序、错别字容忍和多重筛选的全文搜索是另一个世界——而且不是每个系统都需要它。

先试简单的

对于几千条记录的列表,一条带正确索引的查询完全够用。当确实需要相关性排序、自动补全,或者同时对几十个字段做筛选时,再加专门的搜索引擎。

决定质量的是什么

语言处理:分词、处理全拼和省略拼写、缩写和同义词。在希伯来语里,这正是「感觉聪明的搜索」和「令人沮丧的搜索」之间的主要差距。

排序:不只是词的匹配,还有时新性、热度和用户所处的上下文。从简单开始,按人们真正搜索的东西来改进。

同步

索引是一份副本。定义好它怎么更新——按事件还是按周期扫描——以及怎么从零重建。一个重建不了的索引是一颗定时炸弹。

深入一层

监控搜索了什么、以及什么返回了零结果。空结果搜索的清单是最便宜的改进路线图——它同时显示内容缺口和同义词缺口,而且不用去问任何人。