多字段检索,是组合查询的另一种形态,考试的时候如果考察多字段检索,并不一定必须使用multi_match,使用bool query,只要结果正确亦可,除非题目中明确要求(目前没有强制要求过) 语法: GET <index>/_search { "query": { "multi_match": { "query": "<query keyword>", "type": "<multi_match_type>", "fi...
多字段检索,是组合查询的另一种形态,考试的时候如果考察多字段检索,并不一定必须使用multi_match,使用bool query,只要结果正确亦可,除非题目中明确要求(目前没有强制要求过) 语法: GET <index>/_search {"query": {"multi_match": {"query":"<query keyword>","type":"<multi_match_type>","fields": ["...
prefix_length:模糊匹配的起始单词数 operator(默认为OR):布尔逻辑,用来解释query中的词项,可选的参数有OR、AND minimum_should_match(可选):返回的文档需要匹配的最小子串数 示例: GET /shakespeare/_search { "query": { "match": { "text_entry": { "query": "apple eye", "operator": "and" } }...
match_phrase_prefix 和 match_phrase 类似,只不过 match_phrase_prefix 支持最后一个 term 的前缀匹配。 GET test_idx/test_tp/_search { "query": { "match_phrase_prefix": { "desc": "what li" } } } multi_match query multi_match 是 match 的升级,用于搜索多个字段。查询语句为 “java 编程”,...
或者 `磊` # OR # name.名 中包含 `吴` 或者 `磊` # 如果设置了"operator": "and",则中间 OR 的关系变为 AND GET teacher/_search { "query": { "multi_match": { "query": "吴磊", "type": "most_fields", "fields": [ "name.姓", "name.名" ] // ,"operator": "and" } } ...
operator以及minimum_should_match 对于best_fields和most_fields类型是以字段为中心的—它们会为每一个字段生成一个匹配查询。这意味着operator以及minimum_should_match分别应用于每个字段,最终的结果不是想得到的。 GET /_search { "query": { "multi_match" : { "query": "Will Smith", "type": "best_fie...
图1示:创建一个 addresses 索引,并添加2条地址信息,完整地址信息包含4个字段图2示:通过 most fields 进行查询某一具体地址信息,两条文档均返回回来,与期望返回一条精确信息不符图3示:期望通过添加 operator 关键字来达到目的,most fields 查询直接返回空集 4 multi match query 之 cross fields 查询对于上...
"multi_match": { "query": "速8", "fields": [ "brand^1.0", "name^1.0" ], "type": "best_fields", "operator": "AND", "slop": 0, "prefix_length": 0, "max_expansions": 50, "zero_terms_query": "NONE", "auto_generate_synonyms_phrase_query": true, ...
{"_source": ["title","desc"],"query": {"multi_match": {"query":"高端婚礼邀请函","fields": ["title","desc"],"operator":"and","type":"cross_fields"}}} # 这种方式会将所有字段组合在一起作为一个大字段来用,在精确匹配时效果提升明显,命中商...
Match Query(匹配查询) 根据字段的内容进行全文匹配查询,可以使用match、match_all、multi_match等 Term Query (精确查询) 根据字段的精确值进行查询,适用于keyword类型(直接在字段中查找条件值)或者已经执行过分词的字段(在倒排索引中查找条件值),可以使用term和terms Range Query(范围查询) 根据字段的范围值行查询,...