现在我有一种情况,我需要进行一些比较和结果过滤,这不是很简单,我想要的是类似 Lucenes 搜索但只有我会开发它,这不是我的决定,虽然我会选择 Lucene .
我要做的是:
- 根据某个字段的全词匹配查找元素,如果没有则检查它是否以它开头,检查它是否只包含。
- 每个字段根据匹配大小写(完整->开始->包含)及其对我的优先级都有其权重。
- 匹配后,我还将检查其他字段的权重,以得出最终的总行权重。
- 然后我将返回两行及其权重的 Map。
现在我意识到 Hibernate 的 HQL 并不容易做到这一点,这意味着我必须运行多个查询才能做到这一点。
所以我的问题是我应该在java中执行它,意思是我应该检索所有记录并进行计算以找到我的目标,还是应该通过执行多个查询在休眠中执行它?根据性能和速度哪个更好?