参照豆瓣阅读的列表页面
需求:
- 检索词需要在数据库中的题名、作者和摘要字段进行检索并进行高亮标红
- 返回的检索结果需要根据综合、热度最高、最近更新、销量最高、好评最多进行排序
- 分页数量为10,并且返回检索到的总数量
mapping.json
映射字段说明:
- id(长整型): 表示唯一标识的字段,类型为
- title(文本类型): 用于存储文档标题的字段,类型为。指定默认的标准分析器(analyzer)为
- author(文本类型): 存储文档作者的字段,同样是类型。除了使用标准分析器外,还定义额外的关键字(keyword)字段,该关键字字段通常用于==精确匹配和聚合==操作。
- contentDesc(文本类型): 存储文档内容描述的字段,同样是类型,使用标准分析器。
- wordCount(双精度浮点型): 存储文档字数的字段,类型为。通常用于存储浮点数值。
- price(双精度浮点型): 存储文档价格的字段,同样是类型。用于存储浮点数值,例如书籍的价格。
- cover(关键字类型): 存储文档封面的字段,类型为。关键字字段通常用于精确匹配。
- heatCount(整型): 存储热度计数的字段,类型为。通常用于热度排序
- updateTime(日期类型): 存储文档更新时间的字段,类型为。用于最近更新排序
检索结果:
题名进行全文检索包含‘三体球闪’,并且价格为‘35’的数据
对题名、作者、摘要进行全文匹配,同时根据三个字段进行高亮标红
对题名、作者、摘要进行全文匹配,同时根据三个字段进行高亮标红
增加分页条件查询、增加更新日期降序排序、同时返回需要的必备字段
在Elasticsearch7.15版本之后,Elasticsearch官方将它的高级客户端RestHighLevelClient标记为弃用状态。同时推出了全新的Java API客户端Elasticsearch Java API Client,该客户端也将在Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。
完整依赖如下:注意 properties中一定要加 <elasticsearch.version>7.17.11</elasticsearch.version>,否则会导致无法覆盖父引用中依赖
交给spring进行管理,使用时通过@Resource private ElasticsearchClient client; 注入即可使用
参考链接:Using the Java API Client
实体类 DouBan.java