DSL入门及高级教程

1、分类
2、查询所有
# 查询所有,默认显示10条
GET /hotel/_search
{
"query":{
"match_all": {
}
}
}
3、全文检索查询
match查询
会对用户输入的内容分词,然后倒排索引库检索
因为all已经用copy_to将多个字段拷贝到all一个字段,所以查询效率更高
# 全文检索
GET /hotel/_search
{
"query":{
"match": {
"all": "外滩如家"
}
}
}
multi_match查询
与match类似,只不过允许同时查询多个字段,语法:
查询效率没有上面高
# multi_match全文检索
GET /hotel/_search
{
"query":{
"multi_match": {
"query": "外滩如家",
"fields": ["brand","name","business"]
}
}
}
4、精确匹配
term根据词条精确值查询
# term查询
GET /hotel/_search
{
"query":{
"term": {
"city": {
"value": "上海"
}
}
}
}
range根据值的范围查询
gte是大于等于
gt是大于
lte是小于等于
lt是小于
# range查询,
GET /hotel/_search
{
"query":{
"range": {
"price": {
"gte"