代码拉取完成,页面将自动刷新
使用Java High Level REST Client操作elasticsearch
Spring boot整合elastic search 6.8.1实现全文检索。
主要包含以下特性:
全文检索的实现主要包括构建索引、高级搜索、聚集统计、数据建模四个模块;
使用 elasticsearch-rest-high-level-client 来操作elasticsearch,构建索引时,根据实际情况考虑哪些字段需要分词,哪些不需要分词,这会影响搜索结果。
使用IK分词器虽然能解决一些中文分词的问题,但是由于分词的粒度不够细,导致很多词语可能搜不到。
例如IK分词器在构建索引“三国无双”时,会把“三国”“无双”存起来建索引,但是搜索“国无”时,搜不出来,因此,我们采用把文本拆分到最细粒度来进行分词,从而最大限度地搜索到相关结果。
详情参考:如何手动控制分词粒度提高搜索的准确性
高级搜索实现了以下几种:
搜索结果的展示提供了普通分页和滚动分页两种实现。
聚集统计包含词条聚集、日期直方图聚集、范围聚集,并使用chart.js进行可视化
数据建模部分实现了嵌套对象的使用,查询时无需join性能较好,但是在建索引时就要把关联数据join好嵌套进去。
swagger入口:http://localhost:8080/swagger-ui.html
软件架构说明
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。