首页 > IT基础架构 > > ES6的查询语句小实践
1、match查询
GET bank/_search
{
"query": {
"match": {
"address": "Holmes Place"
}
}
}
对字段进行了分词,默认or查询。

针对某个字段:加and

加or

2、match_phrase查询
短语查询:同时满足一下条件
1:分词后的词都需要出现在字段中
2:字段中词项顺序一致 位置要相邻,每个词在分词时,附带位置信息:格式如下:

在匹配的时候其实相当于满足一下条件:
增加slop参数:slop参数告诉match_phrase查询词条能够相隔多远时仍然将文档视为匹配。相隔多远的意思是,你需要移动一个词条多少次来让查询和文档匹配?
为了让fox quick查询能够匹配我们的文档,需要slop的值为3:


上图成功匹配。改成如下就没办法匹配

此时如果想要匹配,设置slop参数。只需要slop 为1即可。如果slop设置足够大,相当于词条顺序任意。

3、match_phrase_prefix查询 前缀查询
对match_phrase进行了扩展,查询内容的最后一个分词与只要满足前缀匹配即可。


4、multi_match查询
只要其中一个字段满足即可。相当于多个mathc,然后组合在一起,更多内容请查看:
multi_match 查询 | Elasticsearch: 权威指南 | Elastic
5、fuzzy查询
模糊查询 | Elasticsearch: 权威指南 | Elastic
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3126675/ ,如需转载,请注明出处,否则将追究法律责任。