外观
Elasticsearch Mapping 与分词如何影响结果?
标准回答
倒排索引把词项连接到包含它的文档。text 字段通常经过分析器处理,适合全文检索;keyword 适合精确值、过滤与聚合。一个字段需要全文与精确用途时,可以按需求设计多字段,避免拿已分词内容做原值比较。
分词、大小写、同义词和中文处理会影响召回集合;索引侧与查询侧分析策略必须协调。排查搜不到时,先确认文档是否入库、字段是否可检索和查询实际词项,再看相关性分数,不能直接调大 TopK。
Mapping 设计还需控制动态字段膨胀、无用索引和大字段成本。索引结构变化往往需要新索引重建与切换,不能假定任意字段类型都能原地安全修改。此处为通用设计方法,具体历史分析器配置未从案例记录中确认。
追问与回答
关键词完全一致却排名靠后
检查查询是否跨字段、字段权重、过滤、长度归一化及其他排序条件;字符串相同不意味着最终排序只有一个因素。
为什么新增同义词后结果不稳定
先区分索引时与查询时应用位置,检查是否需要重建,以及同义词是否扩展了错误候选;用固定相关性集合评价。
易混淆点
- 只调分数,忽略候选根本没有进入索引或召回。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q133