1.简介
本文详细介绍match的用法,各个参数的作用。其实就是阅读官方文档中match的用法进行总结。请阅读的小伙伴们多多指出不足。
2.match详解
match这种搜索是ES独有的,SQL没有。这种搜索可以对 text、boolean、date、number(这些都是es的字段类型),进行搜索。
使用match搜索时,会将你的搜索文本先进行分词,之后再去查询。
是全文索引的标准方式。
2.1完整Json格式
{"query": {"match" :{"mainTitle":{*"query": "想要搜索的文本、数字、boolean、日期",*"analyzer": "指定分词器,对查询query字段值进行切分。未指定时使用字段生成索引时使用的分词器,如果没有则使用索引的默认分词器","auto_generate_synonyms_phrase_query":"",*"fuzziness": "整数:指定最大的最小编辑距离","max_expansions": "整数:词项的扩展","prefix_length": "整数:分词后的词项匹配前缀一致长度","fuzzy_transpositions":"true/false:默认true,是否支持字符的位置交换","fuzzy_rewrite":"",*"lenient":"true/false: 查询的字段是个 boolean,而query是字符串是否报错",*"operator":"and/or:默认是or,就是说词项是否都要匹配","minimum_should_match":"最少匹配的词项数,这里有个表达式规则详情看官方文档",*"zero_terms_query":"none/all:当分词后为0词项用于查询,是返回所有还是空"}}}}
