当前位置: 首页 > news >正文

dsl语法

查询

1.查询所有(默认有分页查询)


#查询所有
GET /hotel/_search
{"query": {"match_all": {}}
}

2.match查询(条件查询)-----包含四川和外滩的信息,信息匹配度越高越靠前,两者存在一个也可以

#match查询(条件查询)
GET /hotel/_search
{"query": {"match": {"all": "四川外滩"}}
}

3.multi_match查询,多条件查询

#multi_match查询(多条件查询,满足其一即可)
GET /hotel/_search
{"query": {"multi_match": {"query": "外滩如家","fields": ["brand","name","business"]}}
}

4.term查询(精准查询)

#term查询精准查询
GET /hotel/_search
{"query": {"term": {"city": {"value": "上海"}}}
}

5.range查询(精准查询范围值一般用于价格)

gte:大于等于 gt:大于 lte:小于等于 lt:小于


#range查询(精准查询范围值一般用于价格)
GET /hotel/_search
{"query": {"range": {"price": {"gte": 100,"lte": 300}}}
}

6.经纬度查询(地理位置查询)distance查询

#distance查询(地理查询)(以一个点为中心点一定距离内的数据————一般用作搜索附近的)
GET /hotel/_search
{"query": {"geo_distance":{"distance":"15km","location":"31.21,121.5"}}
}

7.人工干预查询到的文档的权重(干预文档排序)

#function_score
GET /hotel/_search
{"query": {"function_score": {"query": {"match": {"all": "外滩"}},"functions": [{"filter": {"term": {"brand": "如家"}},"weight": 10}],"boost_mode": "sum"}}
}

8.复合查询 Boolean Query

#复合查询 Boolean Query
GET /hotel/_search
{"query": {"bool": {"must": [{"match": {"name": "如家"}}],"must_not": [{"range": {"price": {"gt": 400}}}],"filter": [{"geo_distance": {"distance": "10km","location": "31.21,121.5"}}]}}
}

 查询结果处理:

排序

注:一旦进行排序则不会进行打分机制,以提高速度

1.按数值进行排序

#对查询结果进行排序
GET /hotel/_search
{"query": {"match_all": {}},"sort": [{"score": "desc"},{"price": "asc"}]
}

 2.按坐标进行排序

#按经纬度距离进行排序
GET /hotel/_search
{"query": {"match_all": {}},"sort": [{"_geo_distance": {"location": {"lat": 31.034661,"lon": 121.612282},"order": "asc","unit": "km"}}]
}

分页 

1.分页查询

#分页查询
GET /hotel/_search
{"query": {"match_all": {}},"sort": [{"price": "asc"}],"from": 0,"size": 20
}

 注:es支持的最大查询条数为10000条,如:初始条数为9991,每页10条将会报错,所以es不支持深度分页

深度分页的方法:

 分页总结:

 对搜索内容的高亮处理

原理

 

#高亮查询,默认需要搜索字段与高亮字段一致
GET /hotel/_search
{"query": {"match": {"all": "如家"}},"highlight": {"fields": {"name": {"require_field_match": "false","pre_tags": "<em>","post_tags": "</em>"}}}
}

 

http://www.lryc.cn/news/58434.html

相关文章:

  • 不让CPU偷懒
  • 动力节点王鹤SpringBoot3笔记——第七章 视图技术Thymeleaf
  • 从比特保存和信息保存看数字资源长期保存
  • 兰伯特光照模型(Lambert Lighting)和半兰伯特光照模型(Half-Lanbert)
  • Python 进阶指南(编程轻松进阶):二、环境配置和命令行
  • 求职半年,三月成功拿到阿里offer,分享一波面经...
  • 餐饮店的运营需要考虑哪些方面
  • Multi-modal Alignment using Representation Codebook
  • 关于vector的emplace_back和push_back的区别
  • Vue——表单输入绑定
  • MySQL性能优化(二)索引
  • < 每日闲谈:你真的了解 “ ChatGPT ” 嘛 ? >
  • 改善Instagram客户服务的6个技巧
  • 8年经验之谈:4步解决测试与开发人员有争议的bug问题...
  • Linux日常小技巧shell脚本
  • 技术创业者必读:从验证想法到技术产品商业化的全方位解析
  • Docker Registry 本地镜像发布到私有库
  • Pytorch构建ResNet-50V2
  • 【01】PointNet论文解析
  • nuxt.js 在IE浏览器||其他浏览不识别document/window 情况处理
  • JavaEE简单示例——基于注解的SSM整合
  • EFBG-06-250双比例阀放大器
  • 初级算法-栈与队列
  • 菜鸟教程之Android学习笔记Service
  • 半个月狂飙1000亿,ChatGPT概念股凭什么?
  • linux使用systemctl
  • 交换机和VLAN简介
  • 想要拯救丢失的海康威视硬盘录像数据?可采用这三种恢复方法
  • 每周一算法:高精度乘法(一)大整数乘整数
  • c++华为od面经