关于Elasticsearch的搜索方式
1.全文搜索
用于对文本字段进行分词后的模糊匹配,支持相关性评分
match查询:对文本进行分词后搜索,默认使用OR,支持AND、minimum_should_match等参数。
minimum_should_match解析:
是 Elasticsearch 中一个用于控制查询条件的参数,主要作用于 布尔查询(bool 查询)的 should 子句 或 dis_max查询。它表示在多个 should 条件中,至少需要满足多少个子条件(或百分比)才能匹配文档。
match_phrase查询:精确匹配分词后的短语顺序
multi_match查询:在多个字段中搜索同一关键词
2.精确匹配
用于不分词的精确匹配(如关键词、数值、日期等)。
term查询:精确匹配某个字段的原始值(不进行分词)
terms查询:匹配字段的多个精确值(类似SQL的IN)
range查询:范围查询(数值、日期等)
3.复合查询
组合多个查询条件,支持逻辑操作。
bool查询:组合多个子查询,支持must(AND)、should(OR)、must_not(NOT)、filter(无评分过滤)
boosting查询:降低某些条件的相关性权重
浙公网安备 33010602011771号