Elasticsearch 多字段查询 best_fields、most_fields、cross_fie

r660926
发布于 2022-4-22 17:48
浏览
0收藏

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区
Multi-match query 的目的多字段匹配,但 Multi-match query 中的 best_fields, most_fields, cross_fields 分不清楚,都什么含义?

 

下面我们一一举例解读。

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区

为默认值,如果不指定,默认best_fields 匹配。

 

 •  含义:多个字段中,返回评分最高的。


 •  类似:dis_max query。


 •  等价举例:(两个一起看,加深理解)


默认 best_fields 与 dis_max等价

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区

与上述best_fields等价

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区
 •  含义:匹配多个字段,返回的综合评分(非最高分)


 •  类似:bool + 多字段匹配。


 •  等价举例:(两个一起看,加深理解)


most_fields 与下面的 bool 查询等价。

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区

与上面的most_fields等价

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区


 •  含义:跨字段匹配——待查询内容在多个字段中都显示。
 •  类似:bool + dis_max 组合。
 •  等价举例:(两个一起看,加深理解)


与下面的bool查询逻辑一致

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区

返回:

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区

与上面的cross_fields 基本等价,评分不一致,待深究

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区

Elasticsearch 多字段查询 best_fields、most_fields、cross_fie-鸿蒙开发者社区
类似辨识度不好区分的 Elastic 知识点,考虑通过实战例子加以区分,实战一把,有助于提升选型效率。

分类
收藏
回复
举报
回复
    相关推荐