hibernate search 实现原理

问题描述

谁能给个文章或讲讲它的实现原理吗?为什么它分词成索引了,可是还会出现sql语句呢?而且它的SQL是这样的selectthis_.IDasID0_0_,this_.TITLEasTITLE0_0_,this_.GIDasGID0_0_,this_.STATEasSTATE0_0_,this_.INPUTDATEasINPUTDATE0_0_fromWEB5I5JDBA.VOTEthis_where(this_.IDin(?,?,?,?,?))如果都用in去生成查询的,那在大数据量下效率得多低啊!

解决方案

本帖最后由 sealave 于 2010-12-03 15:18:17 编辑
解决方案二:
HibernateSearch底层用的是Lucene,得先把这东西熟悉掉。大致而言,全文搜索可以在数据库中完成(有的数据库有实现),也可以在数据库外完成,Lucene是后者。这时数据库只是提供新数据,搜索其实是在索引缓冲区中完成的。

时间: 2024-07-28 21:25:58

hibernate search 实现原理的相关文章

基于lucene搜索引擎的Hibernate Search,官方文档翻译

由于自己的项目需要用到搜索引擎,于是想到使用lucene,封装了lucene的框架有compass,solr,hibernate search. 网上对这些框架的描述有: Compass:是在Lucene的基础上做了封装,支持索引事务控制和增量索引,同时也能够和主流的SSH框架完美地整合在一起,操作Compass类似于操作Hibernate,它们的类/方法等设计的非常相似. 项目主页:http://www.compass-project.org/ 该项目已经很久没有更新维护了,官方网站显示最后维

在 Hibernate Search 5.5 中对搜索结果进行排序

"秩序,秩序"- 有时不仅仅下议院尊敬的议员需要被喊着让排序,而且在特殊情况下 Hibernate 的查询结果也需要排序. 就像这样,仅仅通过一个 Sort 对象在全文本查询执行之前,对特殊的属性进行排序. FullTextSession session = ...; QueryParser queryParser = ...; FullTextQuery query = session.createFullTextQuery( queryParser.parse( "sum

hibernate Search 学习研究 附件是maven工程

  Jboss 的 hibernate search 支持 hibernate 应该比较好.   所以想在项目 里面使用 hibernate search 进行 搜索.   分词使用的是 IKAnalyzer    网站是 :   http://code.google.com/p/ik-analyzer/   使用的 是 hibernate 3.6.8 + spring 3.0.6 + hibernate search 3.4.1 +IKAnalyzer 3.2.8    数据库是mysql  

hibernate Search 继续研究 增加 hibernate memcache 二级缓存 配置成功 附件maven代码(2)

首先安装 memecached 服务端:   之前写过的 文章,centos 安装memcached服务 :   http://toeo.iteye.com/blog/1240607   然后 在 前几天的 弄的  hibernate search 基础上,再添加 memcached 缓存.   因为 hibernate search 虽然 建立了索引.查询速度快了..但是依然要 load 数据.   证据就是 可以看到搜索如果有结果  肯定会执行 hql 将数据一次都查询出来.   Hiber

多点触摸-hibernate search 可不可以实现多个索引目录联合查询

问题描述 hibernate search 可不可以实现多个索引目录联合查询 hibernate search 是基于Lucene的 ,而Lucene 是有现成的方法,可以直接实现多个索引目录查询 ,但是hibernate search 一直不知道该如何实现 ,求大神指点

Spring怎样整合Hibernate Search?

问题描述 Spring.xml<!--......--><beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="mappingReso

hibernate search的使用问题

问题描述 QueryfullTextQuery=fts.createFullTextQuery(luceneQuery,Commodity.class);fullTextQuery.list();总是取不出值是为什么呢,POJO也都用annotations注释了我使用了spring,hibernate和hibernatesearch:给点问题出现的可能性就行 解决方案 解决方案二:是不是你在配注解的时候配错了?解决方案三:@Indexed(index="cy")publicclassC

Hibernate的ORM原理和实现

Hibernate和ORM ORM的全称是Object Relational Mapping,即对象关系映射.它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作.因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作. Hibernate是如何实现映射的 在使用Hibernate实现ORM功能的时候,主要的文件有:映射类(*.java).映射文件(*.hbm.xml)以及数据库配置文件(*.propertie

详解Hibernate的工作原理和体系结构

1.Hibernate 的初始化. 读取Hibernate 的配置信息-〉创建Session Factory 1)创建Configeration类的实例. 它的构造方法:将配置信息(Hibernate config.xml)读入到内存. 一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合. 2)创建SessionFactory实例 把Configeration 对象中的所有配置信息拷贝到SessionFactory的缓存中. SessionFact