目录:
(1)黑马旅游案例-搜素-分页
(2)黑马旅游案例-条件过滤
(3)黑马旅游案例-我附近的酒店
(4)黑马旅游案例-广告置顶
(1)黑马旅游案例-搜素-分页
导入项目:
运行启动类:进行访问:
点击搜索:此时还没有写功能:
前端传递参数:搜索框没有写,key是空的 sortBy排序时默认的
定义实体类:
定义PageResult类:返回结果对象类
定义Controller:
controller中方法的参数Request Params,前端提交的是json,方法参数需要加注解@RequestBody
IHotelService接口:写这个方法
原来写的测试类:中client是创建出来的:
现在我们可以通过spring注入到容器中:可以在启动类中创建Bean:
实现类IHotelServiceImpl:注入这个client对象
实现方法:
解析方法:
重新启动测试:
现在搜索一个如家: 结果都是以如家的结果进行返回
查看传递的参数是如家
还可以点击分页:
(2)黑马旅游案例-条件过滤
页面是有过滤项的,用户点击这些可以做过滤
用户点击什么,前端就会传递什么参数:
ctiy、brand、startName是精确查询用trem、price用范围查询range
trem+range+match全文检索,有多个查询,就可以使用BooleanQuery
修改实现类中的search方法:
上面的查询条件可以坐下封装:
使用快捷键Ctrl+Alt+M进行封装方法:
封装的过滤方法:
解析方法:
点击杭州:下面搜索的全部是杭州的
在做一个价格过滤:
过滤品牌速8:
(3)黑马旅游案例-我附近的酒店
在前端点击定位按钮:
成功定位:
发送一个请求:携带一个参数location
添加字段:
修改实现类sercher方法:添加排序的代码
封装的方法:
修改解析方法:
修改解析方法,添加距离值-获取排序值
放回页面的对象添加距离属性:distance
点击定位:就获取到了数据
显示了距离
(4)黑马旅游案例-广告置顶
加字段:
修改索引库的文档:
修改的是条件封装的部分
修改过滤条件方法:添加算分的代码
出现了条件靠前的:广告置顶