Hibernate搜索技术和lucene技术用于设计和实现基于数据库的全文内部搜索引擎。通过关键字搜索和在Web上搜索相比,它允许控制对搜索内容的精确搜索。推器和效率也得到提高。键词:冬眠搜索; Lucene的;全文搜索中图分类号:TP391.3文献标识码:A文章编号:1007-9599(2011)13-0000-02Station全文搜索引擎基于Lucene和Hibernate吴卫国,潘晴(装备指挥技术学院,北京101416,中国)摘要:Lucene的使用技术和搜索技术进入休眠状态的基础上,全文搜索引擎站数据库的设计和实施。研究相比,通过关键词搜索和在网上搜索控制内容,召回和搜索效率得到了提高。
键词:Hibernate研究; Lucene的;摘要本文使用的搜索引擎工具包Lucene的开源搜索工具在Hibernate Search的数据库设计和实施度假村全文。究工具可显着提高研究质量。Lucene Technology Lucene是一个开源的全文搜索引擎架构,提供完整的查询引擎和索引引擎。Lucenne的全文搜索过程可分为两个过程:索引和搜索。
Lucene的基本概念包括Document和Field。Document表示一个逻辑文件,为Lucene提供索引的文本内容。字段主要用于标识当前数据源的各种属性。档有几个字段。个字段可以指定不同的索引属性,例如存储,索引,分词或不。引和搜索的Lucene的过程是:图2:Lucene的索引恢复过程工艺技术倒排索引,逆映射关键字和文件。

Lucene提供了几个主要类:用于分割和过滤单词的Analyzer类。述的IndexWriter类创建一个倒排索引,其可以被存储在磁盘上(FSDirecotry)或存储器(RAMDirectory)。Query类执行语法分析,Lucene集成了诸如TermQuery,BooleanQuery,RangeQuery,PhaseQuery和MultiPhraseQuery之类的对象。IndexSearcher类检索索引库并完成与搜索相关的操作。用Sort类和Filter类,您还可以对查询结果进行排序和筛选。询的结果由Hits类或TopDocs类表示。Hibernate Search的Hibernate Search的技术使用ORM技术(JPA,休眠核心)和Lucene技术集成全文检索和持久对象模型的好处。Hibernate搜索有两部分:索引组件和索引搜索组件,两者都以Lucene为主要支持。当对应于数据库领域的实体执行插入,
宁波seo更新或删除Hibernate Search的遵循通过Hibernate事件系统这些事件,计划的更新操作指数日。用Hibernate Search的搜索过程如下:标记要素类。

述@Indexed注释指示当前特征类将被提取和被标记的实体与在Lucene的文档相关联。2.标记对象的属性。@Field注释对象的属性,并建立对象属性与Lucene Field的关联。于使用了对象关系映射(ORM),Lucene只能索引纯文本类型。此,您必须转换属性。眠搜索提供了转换桥的概念。3.建立一个指数。类或属性级别指定@Analyzer注释要使用的解析器。许用户通过@Analyzer Def自定义分析仪。4.构建查询。Hibernate查询封装了Lucene Query,主要用于对象关系映射和内部分析。询语句可以指示分页查询过滤器恢复策略和排序策略。5.获取结果集和结果转换。询获得的结果并不总是与用户需求的类型相同,尤其是在使用投影时,结果可以通过Result Transformer进行转换。计和分析的具体例子,本文档使用一个文件系统为例,根据研究进入休眠状态,分析的全文搜索引擎。系统使用EE5 java平台实现。体类定义如下:@实体@类Indexedpublic凭证输入{@Id @Document标识私人信道标识符; @Field(index = Index.TOKENIZED)命名私有字符串; @Field(index = Index.TOKENIZED)私有通道标识符; @Field(Index = Index.TOKENIZED)字符串的私有体; @DateBridge(resolution = Resolution.DAY)私人日期日期=新日期(); @ FieldBridge(implement执行= PaddedIntegerBridge.class,则params = @参数(名称= “填充” 值= “1”))@字段(存储= Store.YES)私人整个安全; @ManyToOne @IndexedEmbedded私人用户作者; ......} @标识声明当前POJO对象的主密钥对应于文档中的文档ID,@field声明当前和文档属性字段之间的对应关系。@Date Bridge指示应将日期字段解析为由日期表示的字符串。@Indexed嵌入式表明实体相关联的用户是当前实体索引的一部分,使作者的名字可以被添加到当前索引。3:Elm映射和索引图Lucene默认解析器是标准解析器,但中文支持是不够的。里使用中文解析器mmseg4j。
Mmseg4j使用Chih-Hao Tsai MMSeg算法的中文单词分隔符。着SLOR框架,是自定义分析器:基于mmseg4j分析仪,两个过滤器已被添加到方便的关键问题在信件的处理和蹩脚的英语。@Analyzer防守效率(NAME = “我分析仪” 标记者= @标记生成器默认值(默认值= com.chenlb.mmseg4j.solr.MMSegTokenizerFactory.class)滤波器=令牌{@筛选防守效率(默认值= ISOLatin1AccentFactory.class)@ TokenFilterDef( Factory = LowerCaseFilterFactory.class)})查询结果过滤器Hibernate搜索允许用户过滤查询结果。于安全原因,设置了文档的机密性级别,具有不同权限的用户可以搜索不同隐私级别的文档。全筛选通过安全筛选器自定义安全搜索筛选器实现。滤的原则是维护一个位表,指示是否可以检索每个文档。尔查询bquery = new布尔查询();为(;安全> = 0;安全 - ){查询的查询=新期限的查询(新术语( “安全”,security.to字符串())); bquery.add(查询,布尔Clause.Occur.SHOULD);}返回新的高速缓存过滤器的包装(新查询包装滤波器(bquery));}要求此产品使用JPA技术的对象查询由全文实体管理器创建。文实体管理器使用与搜索相关的功能扩展了实体管理器。施过滤器的海滩海滩:滤波器=新游侠海滩筛选(“日期”,开始日期字符串,结束日期字符串,真实,TRUE); filter.set(rfilter);安全级别过滤的实现:请求。用全文过滤器(“安全”)。置参数(“安全”,权限);排序实现:Lucene按默认文档的相关性排序。可以通过指定排序来修改排序。Sort sort = new Sort(new sort field -topic)); query.set拼写(出)//出主题表示该主题分类,如标题,提取,...实现分页query.set第一个结果(第*页的大小); // start page query.set最大结果数(文件大小); // query.get结果列表()页面的大小;摘要本文使用lucene + hibernate搜索来实现基于数据库的全文搜索引擎。索引擎可以支持常见的搜索方法:按范围查询,按主题排序,按查询结果过滤,辅助查询等。百度和谷歌等一般搜索引擎相比,它可以搜索更多信息并更精细地控制内容。数据库的全文搜索相比,它可以显着减轻数据库的负担,而且更加灵活高效。Lucene只能索引纯文本数据。前系统只能处理纯文本。于诸如Word,PDF等文本,还需要转换牌处理。用的pdf转换工具是xpdf,Apache POI Word转换工具等。

处理这些文件,只需使用适用于不同类型文件的转换工具自定义转换桥类。
本文转载自
宁波seowww.leseo.net
补充词条:
宁波网站seo优化
宁波seo排名
宁波seo哪家好
宁波seo外包
宁波谷歌seo