通过query查询
eg:查询desc中有"Facebook官网"并且价格在7-20之间的数据
在只查询desc中有"Facebook官网"时, 返回的_score 分别是3.598,0.097
GET /book/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"desc": "Facebook官网"
}
}
]
}
}
}
再加上价格条件查询时会发现返回的_score 分别是4.598,1.097
GET /book/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"desc": "Facebook官网"
}
},
{
"range": {
"price": {
"gte": 7,
"lte": 20
}
}
}
]
}
}
}
想要查询结果不影响到_score,此时需要使用filter过滤,即:在查询desc中有"Facebook官网"得到的结果中再去匹配价格范围的数据
GET /book/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"desc": "Facebook官网"
}
}
],
"filter": [
{
"range": {
"price": {
"gte": 7,
"lte": 20
}
}
}
]
}
}
}
返回的结果: