Spring jpa 采用 jpql 对 json 数据进行筛选以及 MeiliSearch 调研
Posted 喵喵7781
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring jpa 采用 jpql 对 json 数据进行筛选以及 MeiliSearch 调研相关的知识,希望对你有一定的参考价值。
最近项目中遇到标签的筛选,性能上有点问题,想优化一下。
思路有二:
- 引入轻量级搜索引擎 meiliSearch
- 存入 json 格式的标签数据,直接利用 mysql 的 json 查找
Jpa 实践结果如下:
Jpa 支持 mysql 的 json 函数,sql 语句如下:
select * from A_表名 where JSON_CONTAINS(B_字段名, JSON_OBJECT('name', 'test0916')) and JSON_CONTAINS(data_bindings, JSON_OBJECT('name', '测试'));
30w 数据的情况下,数据库查询100条记录的时间大概为0.7s的样子,比 inner join 的方式快一倍。
MeiliSearch 参考资料如下:
安装
使用demo
官网
github java sdk 源码
Mysql 对 json 处理参考资料如下:
MySQL Json function
以上是关于Spring jpa 采用 jpql 对 json 数据进行筛选以及 MeiliSearch 调研的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot JPA:为同一参数传递多个值 (JPQL)