Elasticsearch基础篇(八):常用查询以及使用Java Api Client进行检索

   日期:2024-12-26    作者:sdsgzyq 移动:http://mip.riyuangf.com/mobile/quote/37278.html

参照豆瓣阅读的列表页面

需求

  • 检索词需要在数据库中的题名、作者和摘要字段进行检索并进行高亮标红
  • 返回的检索结果需要根据综合、热度最高、最近更新、销量最高、好评最多进行排序
  • 分页数量为10,并且返回检索到的总数量

mapping.json

 

映射字段说明

  1. id(长整型): 表示唯一标识的字段,类型为
  2. title(文本类型): 用于存储文档标题的字段,类型为。指定默认的标准分析器(analyzer)为
  3. author(文本类型): 存储文档作者的字段,同样是类型。除了使用标准分析器外,还定义额外的关键字(keyword)字段,该关键字字段通常用于==精确匹配和聚合==操作。
  4. contentDesc(文本类型): 存储文档内容描述的字段,同样是类型,使用标准分析器。
  5. wordCount(双精度浮点型): 存储文档字数的字段,类型为。通常用于存储浮点数值。
  6. price(双精度浮点型): 存储文档价格的字段,同样是类型。用于存储浮点数值,例如书籍的价格。
  7. cover(关键字类型): 存储文档封面的字段,类型为。关键字字段通常用于精确匹配。
  8. heatCount(整型): 存储热度计数的字段,类型为。通常用于热度排序
  9. updateTime(日期类型): 存储文档更新时间的字段,类型为。用于最近更新排序
 
 
 
 
 
 
 
 
 
 
 
 

检索结果

 
 
 

题名进行全文检索包含‘三体球闪’,并且价格为‘35’的数据

 
 

对题名、作者、摘要进行全文匹配,同时根据三个字段进行高亮标红

 
 
 

对题名、作者、摘要进行全文匹配,同时根据三个字段进行高亮标红

增加分页条件查询、增加更新日期降序排序、同时返回需要的必备字段

 
 
 
 
 

在Elasticsearch7.15版本之后,Elasticsearch官方将它的高级客户端RestHighLevelClient标记为弃用状态。同时推出了全新的Java API客户端Elasticsearch Java API Client,该客户端也将在Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。

Api名称介绍TransportClient-废弃,8.x删除基于TCP方式访问,只支持JAVA,7.x开始弃用,8.x删除.Rest Lower Level Rest Client低等级RestApi,最小依赖。Rest High Level Rest Client废弃,未说明删除时间高等级的RestApi,基于低等级Api,7.15开始弃用,但没有说明会删除。用低等级Api替换。RestClient基于Http的Api形式,跨语言,推荐使用底层基于低等级Api,7.15才开始提供
 

完整依赖如下:注意 properties中一定要加 <elasticsearch.version>7.17.11</elasticsearch.version>,否则会导致无法覆盖父引用中依赖

 
 

交给spring进行管理,使用时通过@Resource private ElasticsearchClient client; 注入即可使用

 
 

参考链接:Using the Java API Client

 
 

实体类 DouBan.java

 

4.4.1 索引单个文档

 

4.4.2 批量索引文档

 

4.4.3 原始数据批量索引文档

 
 
 
 
 

4.6.1 普通的搜索查询

 

4.6.2 嵌套搜索查询

 

4.6.3 模板搜索


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号