后端、接口与数据 · 进阶
搜索:数据库什么时候不够用了
一句话: 带相关性排序、错别字容忍和多重筛选的全文搜索是另一个世界——而且不是每个系统都需要它。
先试简单的
对于几千条记录的列表,一条带正确索引的查询完全够用。当确实需要相关性排序、自动补全,或者同时对几十个字段做筛选时,再加专门的搜索引擎。
决定质量的是什么
语言处理:分词、处理全拼和省略拼写、缩写和同义词。在希伯来语里,这正是「感觉聪明的搜索」和「令人沮丧的搜索」之间的主要差距。
排序:不只是词的匹配,还有时新性、热度和用户所处的上下文。从简单开始,按人们真正搜索的东西来改进。
同步
索引是一份副本。定义好它怎么更新——按事件还是按周期扫描——以及怎么从零重建。一个重建不了的索引是一颗定时炸弹。
深入一层
监控搜索了什么、以及什么返回了零结果。空结果搜索的清单是最便宜的改进路线图——它同时显示内容缺口和同义词缺口,而且不用去问任何人。