一、酒店搜索和分页
需求:实现黑马旅游的酒店搜索功能,完成关键字搜索和分页
1、定义实体类,接收前端的参数

如果当搜索条件为空的时候,就返回全部数据,不为空才按照key来搜索


二、条件过滤
修改实体类,加几个参数,参数就是条件

城市city、品牌brand、星级starName都是精确匹配,而价格price是范围匹配,过滤条件要放到filter里面,这样不会参与算分,提高性能
注意:多个条件之间用AND关系,组合条件用BooleanQuery,参数都要做非空判断

三、附近的酒店
前端带着我的位置来请求我们的接口,我们用这个location去es找,按千米为单位来排序

我们拿对象的时候,要多拿个sort字段,表示目标距离我们多少km,要返回给前端

四、广告制定
需求:默认情况是按照相关性来排序的,但是我们想给某些酒店打广告,放到前面。让指定的酒店在搜索结果排名中指定。
- 给hotelDoc类添加isAD字段,boolean类型,表示是否打广告
- 挑选几个喜欢的酒店,给文档数据添加isAD字段,为true
- 修改search方法,添加function score功能,给isAD值为true的增加权重
先增加了4个广告



满足过滤条件的就会执行算分函数,增加权重,直接乘10















![[pytorch]FixMatch代码详解-数据加载](https://img-blog.csdnimg.cn/8cb1f2793e57483487cab8c09b89cc36.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGl5aWhhbzc2,size_18,color_FFFFFF,t_70,g_se,x_16)



