全文搜索

全文搜索是 Easysearch 最常用的搜索场景。本章节涵盖从基础教程到高级调优的全文搜索能力,包括分词、相关性评分、多字段搜索等。

快速入门 #

从最基础的全文查询开始:

  1. 全文检索基础:BM25 算法、分词、匹配机制
  2. 多字段搜索:best_fields、most_fields、cross_fields 策略
  3. 邻近匹配:短语匹配、slop 参数、多值字段
  4. 部分匹配:前缀、通配符、正则、模糊查询
  5. 高亮:标记匹配文本片段
  6. 自动建议:自动补全、拼写纠正

全文查询类型 #

所有全文查询都支持分词与相关性计分。详细用法见 全文查询 章节:

查询说明常见用途
match基础全文查询,单字段简单关键词搜索
match_phrase短语匹配短语搜索
match_phrase_prefix短语前缀搜索框自动补全
match_bool_prefix布尔前缀匹配跨字段自动补全
multi_match多字段全文查询在多个字段中搜索
query_string查询字符串(支持布尔操作符)高级用户输入
simple_query_string简化查询字符串用户输入容错
intervals高级文本匹配精细文本匹配控制

Span 查询 #

Span 查询提供了文本级的精细控制,常用于高级文本分析与法律文档检索。详见 查询 DSL > Span 查询 章节。

分页与排序 #

功能说明
分页与排序from/size、search_after、scroll、按字段排序、按相关性排序

相关性调优 #

影响搜索结果顺序的各种因素与调优方法:

主题说明
相关性基础TF、IDF、BM25 算法基础
Boosting 与评分query-time boosting、index-time boosting
调试与解释explain API、_score 调试
相关性配方常见相关性问题的解决方案

常见用途 #

需求实现方式
简单关键词搜索match 查询
短语搜索(“完整的短语”)match_phrase
搜索框自动补全match_phrase_prefix + 前缀索引
多字段搜索(标题 + 内容)multi_match with best_fields
中文分词全文搜索match 查询 + IK 分词器
相关性调优相关性 章节
搜索结果高亮高亮 参数

最佳实践 #