1、matchQuery和termQuery区别
matchQuery:会将搜索词分词,再与目标查询字段进行匹配,若分词中的任意一个词与目标字段匹配上,则可查询到。
termQuery:不会对搜索词进行分词处理,而是作为一个整体与目标字段进行匹配,若完全匹配,则可查询到。
wildcardQuery:模糊匹配, 是 term 级别的 query,支持通配符,如:QueryBuilders.wildcardQuery("content", "*全*")
2、must与should区别
must : 相当于 MySQL and
should : 相当于MySQL or (效率低)
3、如何查看一个字符串是如何分词的
GET /risk_user_his/_analyze { "field": "deviceUuidFristLogin", "text": "EA760BCA-E3F3-4005-821C-54A6B1051B4D" }
4、如何修改一个字段的映射,改为不分词
参考: