单词级别查询
这些查询通常⽤于结构化的数据,⽐如:number, date, keyword等,⽽不是对text。
也就是说,全⽂本查询之前要先对⽂本内容进⾏分词,⽽单词级别的查询直接在相应字段的反向索引中精确查找,单词级别的查询⼀般⽤于数值、⽇期等类型的字段上
Term query 精准匹配查询(查找号码为23的球员)
关键参数term
POST /nba/_search
{
"query": {
"term": {
"jerseyNo": {
"value": "23"
}
}
}
}
Exsit Query 在特定的字段中查找⾮空值的⽂档(查找队名⾮空的球员)
关键参数exists
POST /nba/_search
{
"query": {
"exists": {
"field": "teamNameEn"
}
},
"from": 0,
"size": 600
}
Prefix Query 查找包含带有指定前缀term的⽂档(查找队名以Rock开头的球员)
关键参数prefix
POST /nba/_search
{
"query": {
"prefix": {
"teamNameEn": "Rock"
}
},
"from": 0,
"size": 600
}
Wildcard Query ⽀持通配符查询,*表示任意字符,?表示任意单个字符(查找⽕箭队的球员)
关键参数wildcard
POST /nba/_search
{
"query": {
"wildcard": {
"teamNameEn": "Ro*s"
}
},
"from": 0,
"size": 600
}
Regexp Query 正则表达式查询(查找⽕箭队的球员)
关键参数regexp
POST /nba/_search
{
"query": {
"regexp": {
"teamNameEn": "Ro.*s"
}
},
"from": 0,
"size": 600
}
Ids Query(例如查找id为1和2的球员)
关键参数ids
POST /nba/_search
{
"query": {
"ids": {
"values": [1,2]
}
},
"from": 0,
"size": 600
}