目录:
(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)黑马旅游案例-广告置顶

加字段:
修改索引库的文档:
修改的是条件封装的部分


修改过滤条件方法:添加算分的代码


出现了条件靠前的:广告置顶



















