不久前Hibernate推出了Hibernate Search 3.0 GA,由它的名字大家也可以大概猜到它的作用是对数据库中的数据进行检索的。它是hibernate对著名的全文检索系统Lucene的一个集成方案,
作用在于对数据表中某些内容庞大的字段(如声明为text的字段)建立全文索引,这样通过hibernate search就可以对这些字段进行全文检索后获得相应的POJO,从而加快了对内容庞大字段进行模糊搜索的速度(sql语句中like匹配)。
大家看下红色字体部分,如果按照他的意思,似乎是针对数据库中大字段的查询来设计的,我想问下,如果,我要查的表中不是大字段,现在用hibernate search ,是不是性能没有直接用hibernate中的hql好哦?或者没有sql好哦?
请求大家说说哦?
作用在于对数据表中某些内容庞大的字段(如声明为text的字段)建立全文索引,这样通过hibernate search就可以对这些字段进行全文检索后获得相应的POJO,从而加快了对内容庞大字段进行模糊搜索的速度(sql语句中like匹配)。
大家看下红色字体部分,如果按照他的意思,似乎是针对数据库中大字段的查询来设计的,我想问下,如果,我要查的表中不是大字段,现在用hibernate search ,是不是性能没有直接用hibernate中的hql好哦?或者没有sql好哦?
请求大家说说哦?
知道什么是全文检索吗?
用过sql里的like吗?
知道like每次只能like一列,而lucene具有更强的模糊查询能力吗?为啥google里至少输入一个词,或者几个单词,就可以搜出来一大堆的结果?
hibernate search就是对lucene的封装,本来lucene支持对任何东西的全文检索,hibernate search把lucene封装到数据库方面,这样你操作hibernate的时候,就会自动用lucene建索引,自动用lucene进行全文检索。劝你把lucene的用途弄明白,再看看hibernate search。