⭐请求es地址均为localhost:9200/{索引}/_search
,为了编写方便些,在下面的例子中会直接写请求体;
{
"query": {
"match_all": {}
},
"size": 1 // size关键词为返回数据条数,不填写默认为10条
}
{
"query": {
"match_all": {}
},
"sort": [
{
"patient_age": {
"order": "desc" // 根据用户年龄倒序排列
}
}
],
"size": 10, // size 与 from搭配起到分页的作用
"from": 1
}
{
"query": {
"match_all": {}
},
"_source": ["bill_no", "patient_age"], // 只返回订单号和用户年龄
"sort": [
{
"patient_age": {
"order": "desc"
}
}
],
"size": 10,
"from": 1
}
{
"query": {
"range": {
"patient_age": { // 查询年龄大于1岁 小于10岁的用户
"gte": 1,
"lte": 10
}
}
}
}
{
"query": {
"prefix": {
"patient_name": {
"value": "李" // 查询姓李的用户
}
}
}
}
以下表达式的意思为:
patient_age
)在0-18岁之间{
"query": {
"bool": {
"must": [
{
"range": {
"patient_age": {
"gte": 0,
"lte": 18
}
}
}
],
"must_not": [
{
"prefix": {
"patient_name": {
"value": "李"
}
}
}
]
}
},
"sort": [
{
"patient_age": {
"order": "desc"
}
}
],
"_source": [
"bill_no",
"patient_name",
"patient_age"
]
}
term
查询被用于精确值匹配,这些精确值可能是数字、时间、布尔或者那些 not_analyzed 的字符串;{
"query": {
"term": {
"patient_name": {
"value": "李"
}
}
},
"highlight": {
"fields": {
"*": {}
}
}
}
在返回值中,符合条件的数据会被highlight标签包裹,并且有标签修饰,不过这个标签是可以通过es进行修改的;
"highlight": {
"patient_name": [
"李雪"
]
}
{
"query": {
"terms": {
"patient_name": [ // 查询患者名字中包含 赵 钱 孙字符的文档
"赵",
"钱",
"孙"
]
}
}
}
{
"query": {
"multi_match": {
"query": "山东",
"fields": [
"patient_address", // 这里为检索的字段
"address"
]
}
}
}