MST

星途 面试题库

面试题:ElasticSearch索引和搜索协同优化之基础策略

在ElasticSearch中,为了实现索引和搜索的协同优化,从索引方面考虑,如何选择合适的分词器以提高搜索的准确性?请举例说明不同业务场景下适用的分词器。
19.3万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试

选择合适分词器提高搜索准确性的方法

  1. 分析业务需求:了解数据特点与搜索预期,比如是否包含中文、是否需处理专业术语等。
  2. 考虑语言特性:不同语言有不同的分词逻辑,如英文按空格分词,中文需专门分词算法。
  3. 测试与评估:用实际数据测试不同分词器,评估搜索结果的相关性与召回率。

不同业务场景适用的分词器举例

  1. 中文新闻资讯搜索
    • 适用分词器:结巴分词器或HanLP分词器。
    • 原因:能有效处理中文文本,对常用词汇、新词汇有较好的切分效果。例如新闻标题“中国科学家发现新的宇宙现象”,结巴分词可合理切分为“中国/科学家/发现/新的/宇宙/现象”,利于准确搜索。
  2. 英文技术文档搜索
    • 适用分词器:Standard Analyzer(标准分词器)。
    • 原因:它是Elasticsearch默认的英文分词器,按词边界和小写转换等规则处理英文文本。如技术文档中句子“This is a new API for data processing”,会被切分为“this”“is”“a”“new”“api”“for”“data”“processing”,符合英文搜索习惯。
  3. 电商商品搜索(包含多语言及品牌名等)
    • 适用分词器:IK分词器(处理中文部分)结合Keyword Analyzer(处理品牌名等固定词)。
    • 原因:对于中文商品描述,IK分词器可有效分词;而品牌名等作为整体,用Keyword Analyzer不分词,完整索引与搜索。如商品“小米13手机”,品牌“小米”用Keyword Analyzer,描述部分用IK分词器,能兼顾品牌精准搜索与描述内容的分词搜索。