- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lucene和ikanalyzer.doc
一,名词解释
1,Lucene:全文检索引擎架构(查询引擎和搜索引擎)以下的论述引用的是Lucene2.X的jar包
全文检索:先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)
3,Lucene的使用分为两块,一块是建立索引库,一块上搜索
Lucene在扩展索引的时候不断创建新的索引文件,然后顶起的把这些新的小索引文件合并到原先的大索引中(不引响检索效率的前提下,提高了索引效率)需要索引的字段索引字段是可控的(既可以控制哪些字段需要索引,哪些字不需要索引。)
Lucene信息检索的过程:
构建文本库
在开发功能之前,构建一个文本数据库,用来保存所有用户可能检索的信息,在这些信息的基础上,确定索引中的文本类型。(文本类型是被系统所默认的一种类型,一旦确定,就不再更改。)
在知识库系统中:将所有的知识采用同样的格式存储到文本数据库中。
类似于建立目录。大型信息检索系统采用倒排的方式建立索引
进行搜索
过滤结果:将检索到的用户需要的信息以一定的规则,进行排序或过滤,返回给用户。(关系到用户的体验)
倒排是一种面向单词的索引机制。通常它由(关键字)和出现情况两部分组成。对于索引中的每个词(关键字),都跟随一个列表(位置表),用来记录单词在所有文档中出现的位置。倒排的特点:在倒排索引中,关键字的数量并非随着文本内容的增长也线性增长。这是因为无论多大数量的文本数据库,总能够规范出一个关键字表。这种关键字受到实际语言因素的限制,他的增长率在文本数据库达到一定规模后可以忽略不计。
lucene 中有两种过滤器,一个是搜索时的过滤器,一个是分析的过滤.Lucene与hibernate
hibernate是程序与数据库的桥梁。当然没有这这座桥,走别的路,一样也可以访问数据库。
同样Lucene是程序与索引库的桥梁。通过操作Lucene的API,可以建立一个索引库。
索引库可以存在文本文件、内存、数据库里。
hibernate可以使用类映射文件创建数据表,类名对应数据库名,类属性对应数据表的相应字段。同样要想把一个对象存到索引库中,
先将对应的属性转化成Field,然后将这个Field add到一个document中,同时这个索引会对应一个内部编号,这个编号就代表这个对象,这样这个对象对应的document就创建完成了。
搜索:
当你的程序添加了hibernate框架,配置好之后就可以使用hibernate的HQL语言来操作数据库了。同样的,可以调用Lucene的API来操作索引库
以查询为例:
hibernate中 from 类名 ……
Lucene:
1,把要查询的东西解析成query对象
2,进行查询(利用搜索器,在索引库里面按照一定条件搜索生成的query对象,返回TopDocs查询结果的集合类)IndexSearcher
3,输出结果
使用:like %net% 会把netherlands也匹配出来,多个关键词的模糊匹配:使用like %com%net%:就不能匹配词序颠倒的从字符串到文件的映射是文件到字符串映射的反向过程,于是保存这种信息的索引称为反向索引 经过分词(Tokenizer) 后得到的结果称为词元(Token(Vector Space Model) 。判断词(Term) 之间的关系从而得到文档相关性
Lucene 首次索引检索后,只将所有结果中匹配度最高的头100条结果 (TopDocs)的ID放到结果集缓存中并返回,如果首批缓存结果数用完后还要读取更 后面的结果时Searcher会再次检索并生成一个上次的搜索缓存数大1倍的缓存,并再重新向后抓取。所以如果构造一个Searcher去查1-120条 结果,Searcher其实是进行了2次搜索过程:头100条取完后,缓存结果用完,Searcher重新检索再构造一个200条的结果缓存,依此类推, 400条缓存,800条缓存。Lucene在收集结果的过程中将匹配度低的结果自动过滤掉了。
您可能关注的文档
最近下载
- 江铜产融2025年度社会招聘笔试历年参考题库附带答案详解.docx
- 销售管理(第6版)建立销售渠道.ppt VIP
- 1.2《大数的认识大数的读法与写法》(教学课件)四年级数学上册北京版.pptx
- 2022十八项医疗核心制度之会诊制度培训(精华版).ppt VIP
- 基于BIM的EPC项目管理应用研究.pdf VIP
- 法说西游记(湖南大学)中国大学MOOC慕课章节测验答案(课程ID:1205730816).pdf VIP
- 2024年医师麻精药品处方权暨药师调剂资格考核试题.docx VIP
- 质量管理小组活动推进指南(TCAQ10208-2024).docx
- 飞机防冰排雨系统.ppt VIP
- 深静脉血栓形成的诊断和治疗指南(第三版)解读PPT课件.pptx VIP
文档评论(0)