Hibernate Search Hibernate搜索框架开源项目

我要开发同款
匿名用户2008年10月28日
58阅读
开发技术Java
所属分类程序开发、搜索引擎
授权协议LGPL

作品详情

HibernateSearch的作用是对数据库中的数据进行检索的。它是 hibernate 对著名的全文检索系统 Lucene 的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为text的字段)建立全文索引,这样通过hibernatesearch就可以对这些字段进行全文检索后获得相应的POJO,从而加快了对内容庞大字段进行模糊搜索的速度(sql语句中like匹配)。

HibernateSearch自动从HibernateORM实体中提取数据,以将其推送到本地ApacheLucene索引或远程Elasticsearch索引。

HibernateSearch主要有以下功能特点:

通过注释或 programmaticAPI将实体属性声明性映射到索引字段。数据库中所有实体的按需大量索引,以使用预先存在的数据初始化索引。通过HibernateORM会话修改实体的即时自动索引 ,以始终保持索引最新。一种搜索DSL ,可轻松构建全文搜索查询并将命中结果检索为HibernateORM实体。还有更多:分析器的配置、搜索DSL中的许多不同谓词和排序、空间支持。搜索查询返回 projections而不是entities、聚合、使用桥接的高级自定义映射...@Entity//Thisentityismappedtoanindex@IndexedpublicclassBook{//TheentityIDisthedocumentID@Id@GeneratedValueprivateIntegerid;//Thispropertyismappedtoadocumentfield@FullTextFieldprivateStringtitle;@ManyToMany//AuthorswillbeembeddedinBookdocuments@IndexedEmbeddedprivateSet<Author>authors=newHashSet<>();//Gettersandsetters//...}@EntitypublicclassAuthor{@Id@GeneratedValueprivateIntegerid;//Thispropertyismappedtoadocumentfield@FullTextFieldprivateStringname;@ManyToMany(mappedBy="authors")privateSet<Book>books=newHashSet<>();//Gettersandsetters//...}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论