【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
精确查询一般是查找keyword、数值、日期、boolean等类型字段。所以不会对搜索条件分词。
常见的有:
【根据业务定】

精确查询常见的有term查询和range查询。语法如下:
term查询:
// term查询
GET /indexName/_search
{
"query": {
"term": {
"FIELD": {
"value": "VALUE"
}
}
}
}
试试
# term 查询
GET /hotel/_search
{
"query": {
"term": {
"city": {
"value": "上海"
}
}
}
}
直接运行

可以看到,查出了83 个【而且city 一定是“上海”】
值改成“杭州”

好家伙,我这没有杭州的【行吧,数据里面也没有】【而且不会对搜索值 进行分词】
range查询:
// range查询
GET /indexName/_search
{
"query": {
"range": {
"FIELD": {
"gte": 10,
"lte": 20
}
}
}
}
# range 查询
GET /hotel/_search
{
"query": {
"range": {
"price": {
"gte": 100,
"lte": 300
}
}
}
}
直接运行

OK, 查出来了50条,试试MySQL
select count(*) from tb_hotel where price >= 100 and price <= 300;

OK, 没啥问题,确实是 50 个满足价格在 100 ~ 300
精确查询常见的有哪些?