- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lucene全文检索精华
lucene全文检索
概念
全文检索(Full-Text Retrieval)是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程.
lucene全文检索的特性
全文检索(Full-Text Retrieval)是指以文本作为检索对象,找出含有指定词汇的文本。全面、准确和快速是衡量全文检索系统的关键指标。
关于全文检索的特性,我们要知道:1,只处理文本。2,不处理语义。3,搜索时英文不区分大小写。4,结果列表有相关度排序。
下图就是显示“1+1等于几”这个搜索要求对应的结果。可以看到,是没有“2”这个结果的,结果页面都是出现了这些词的网页 .
全文检索的应用场景
我们使用Lucene,主要是做站内搜索,即对一个系统内的资源进行搜索。如BBS、BLOG中的文章搜索,网上商店中的商品搜索等。使用Lucene的项目有Eclipse、Jira等。一般不做互联网中资源的搜索,因为不易获取与管理海量资源(专业搜索方向的公司除外)。
第一个lunece程序
准备lucene的开发环境
搭建Lucene的开发环境只需要加入Lucene的Jar包,要加入的jar包至少要有:
lucene-core-4.4.0.jar(核心包)
analysis\common\lucene-analyzers-common-4.4.0.jar(分词器)
highlighter\lucene-highlighter-4.4.0.jar(高亮)
\memory\lucene-memory-4.4.0.jar(高亮)
queryparser\ lucene-queryparser-4.4.0.jar (查询解析)
实现建立索引功能(IndexWriter)
/**
* 使用indexWriter对数据库建立索引..
* @throws IOException
*/
@Test
public void createIndex() throws IOException{
//索引存放的位置...
Directory directory=FSDirectory.open(new File(indexDir/));
//lucene当前使用的匹配版本
Version matchVersion=Version.LUCENE_44;
//分词器,对文本进行分词,抽象类,由子类实现不同的分词方式
Analyzer analyzer=new StandardAnalyzer(matchVersion);
//索引写入的配置
IndexWriterConfig indexWriterConfig=new IndexWriterConfig(matchVersion, analyzer);
//构建用于操作索引的类
IndexWriter indexWriter=new IndexWriter(directory, indexWriterConfig);
//索引库里面的要遵守一定的结构,(索引结构...) 在索引库当中保存的都是document
Document doc=new Document();
//索引document里面页游很多的字段...
/**
* 1:字段的名称
* 2:字段对应的值
* 3:该字段在索引库中是否存储
*/
IndexableField id=new IntField(id, 1, Store.YES);
//StringField不会根据分词器去拆分,只有后面的String全包括才能被搜索到
IndexableField title=new StringField(title, JAVA 培训,传智播客专注Java培训10年, Store.YES);
//TextField如果按照默认分词器去拆分,中文则是按照单个中文拆分的
IndexableField content=new TextField(content, java培训的龙头老大,口碑最好的java培训机构,进来看看同学们的呐喊, Store.YES);
doc.add(id);
doc.add(title);
doc.add(content);
indexWriter.addDocument(doc);
indexWriter.close();
}
实现搜索功能(IndexSearcher)
/**
* 使用indexSearcher对数据进行搜索
* @throws IOException
*/
@Tes
您可能关注的文档
最近下载
- GB+39496-2020尾矿库安全规程.docx VIP
- 衡水体英文字母字帖.pdf VIP
- 聚酰亚胺 化学、结构与性能的关系及材料.pdf VIP
- 2025-2026学年小学信息技术(信息科技)五年级上册重大版(2023)教学设计合集.docx
- 迎春杯历年试题全集(上).pdf VIP
- 建筑结构检测鉴定与加固课程-第7章 钢结构加固.ppt VIP
- PW5300_2.0数据手册下载.pdf VIP
- 建筑结构检测鉴定与加固课程-第8章 建筑结构的改造.ppt VIP
- 重大版小学信息技术教案四年级上册教案.doc VIP
- 多因子选股系列研究之十八:成交量激增与骤降时刻的对称性与“一视同仁”因子构建.pdf VIP
文档评论(0)