我使用的是PostgreSQL 9.3(我无法更新到9.4);在我的DB的一些表中,我有文本类型的列;我需要这个,因为我需要存储一些大数据(也包括HTML内容) 此外,我需要对这些领域进行一些搜索 为了提高搜索性能,对这些字段进行完整索引的最佳方法是什么? 由于我正在起诉hibernate,我可能会考虑使用Hibernate Search ....但在修改代码并引入它之前,我很想看看是否通过使用一些PostgreSQL索引我可以提高搜索性能< / p>
欢迎任何建议
谢谢 安吉洛
答案 0 :(得分:1)
我认为你没有太多选择。您将不得不使用某种形式的文本索引,并且它们都需要更改代码。
使用Hibernate Search,Hibernate将创建索引并对其进行维护,但这可能会增加应用程序的复杂性。当然,使用它的代码与普通查询完全不同。
您还可以查看Postgre's full text search,其中索引将由数据库而不是Hibernate完成,这比第一个选项更简单。缺点是你必须使用本机查询进行全文搜索(也许你可以扩展Postgres方言,不确定),但如果它是一个有限的用例,如果你考虑好处可能不是问题。并且,您将代码绑定到PostgreSQL,这通常不是一个好方法。