`

使用Java8实现自己的个性化搜索引擎

阅读更多

需要对249本软件著作实现句子级别全文检索,这些著作均为PDF文件,不使用现有的框架如lucene,自己实现的方法如下:

1、从PDF文件中提取文本,这里的重点是如何最大可能地还原文本。提取之后的文本,一个句子一行保存为文本文件。

2、将所有文本文件合并为一个单一的文本文件,这样,每一个句子就有一个唯一行号

3、对每一行文本进行分词,建立倒排表,倒排表的格式为:词=包含该词的总行数N=行号1|行号2|行号3|行号N......,如下的例子表示所有文本中,包含ysc的有12行,分别是......:

ysc=12=41883|134145|199585|320658|320661|332585|333873|379773|379775|453341|476179|488165

4、优化倒排表,减少索引文件的磁盘和内存占用,将行号排序,存储递增值。比如如下倒排表:

 

ysc=12=41883|134145|199585|320658|320661|332585|333873|379773|379775|453341|476179|488165

可优化为:

ysc=12=41883|92262|65440|121073|3|11924|1288|45900|2|73566|22838|11986

5、处理单一检索词,直接读取倒排表,然后处理递增存储的行号。

6、处理多个检索词,合并多个单一检索词的结果,取交集

7、根据检索到的行号,从第2步建立的单一的文本文件中获取句子。

 

实现代码如下:

1、提取文本

2、文本索引

3、文本搜索

 

249本软件著作

 

 

 

 

 

 

 

 

 

1
2
分享到:
评论
4 楼 yangshangchuan 2015-04-07  
carafe 写道
yangshangchuan 写道
carafe 写道
跟java8有毛关系


用Java8的函数式编程

那重点是java8还是搜索?不用java8不能做到?如果重点是搜索,以java8作标题是想证明你用了java8?


搜索可以有多种实现方式,Java8是一种,这里使用Java8是想引起对Java8感兴趣的人的注意,很多人可能对搜索没接触过,不过对JAVA8感兴趣,这么一来,就可能让很多人跨入搜索的大门。授人以鱼不如授人以渔,抛砖引玉而已。
3 楼 carafe 2015-04-07  
yangshangchuan 写道
carafe 写道
跟java8有毛关系


用Java8的函数式编程

那重点是java8还是搜索?不用java8不能做到?如果重点是搜索,以java8作标题是想证明你用了java8?
2 楼 yangshangchuan 2015-04-07  
carafe 写道
跟java8有毛关系


用Java8的函数式编程
1 楼 carafe 2015-04-07  
跟java8有毛关系

相关推荐

    深度学习搜索引擎开发-Java实现-源代码.zip

    深度学习搜索引擎是一种融合了深度学习技术的现代搜索引擎,它能够通过理解自然语言、识别语义关系和模式,为用户提供更为精确和个性化的搜索结果。在Java环境下开发深度学习搜索引擎,可以利用Java的强大功能和丰富...

    个性化搜索引擎

    系统采用的是bing引擎,国内对谷歌和谐没有采用谷歌引擎。使用bing引擎爬取百度网盘关于关键字的信息,将结果页使用Jsoup解析后展示给用户,在登录后会自动统计搜索的关键词的个数,将最常搜索的三条记录展示给用户

    基于Java技术的智能化搜索引擎的研究与设计.pdf

    综上所述,基于Java技术的智能化搜索引擎结合了数据挖掘和Web爬虫技术,不仅能够更高效地处理大规模网络数据,还能够通过智能算法提供更精准、个性化的搜索结果。这对于改善用户体验,提高信息检索效率具有重要意义...

    基于Ruby+Java搜索引擎原理与实现

    《基于Ruby+Java搜索引擎原理与实现》是一部深入探讨搜索引擎技术的书籍,虽然只涵盖了前三个章节,但已足以让我们对搜索引擎的基本运作有初步的理解。在本文中,我们将围绕Ruby和Java这两种编程语言如何应用于搜索...

    基于Java搜索引擎的设计与实现开题报告.doc

    "基于Java搜索引擎的设计与实现" 本文档旨在设计和实现一个基于...本文档旨在设计和实现一个基于Java的搜索引擎,使用Lucene框架和Nutch子项目,旨在解决用户难以获得所需信息的问题,提供一个高性能的全文搜索引擎。

    基于Java技术的搜索引擎研究与实现.pdf

    ### 基于Java技术的搜索引擎研究与实现 ...通过使用Java技术,作者成功实现了搜索引擎的核心功能,并利用Apache Lucene和JSP等工具完成了具体实现。这些研究成果对于推动搜索引擎技术的发展具有重要意义。

    JAVA网络爬虫数据库jsp搜索引擎

    综合以上技术,你可以构建一个自定义的搜索引擎,不仅可以提高对自身网站的收录效果,还可以根据特定需求进行定制化设计,比如优化查询性能、实现个性化推荐等。同时,为了保证服务的稳定性和可扩展性,你还需要考虑...

    基于Java搜索引擎的设计与实现答辩PPT.pptx

    系统实现目标是创建一个快速、便捷、精确的个性化搜索引擎,能在低配置硬件环境下运行,且易于部署。 在项目演示阶段,进行了环境配置,包括导入jar包,建立数据库连接,并展示了通过浏览器进行检索的实际操作。...

    JAVA技术与人工智能在搜索引擎上的应用

    ### JAVA技术与人工智能在搜索引擎上的应用 #### 一、引言 随着互联网的快速发展,Web已成为人们获取信息的重要渠道。...随着技术的不断进步,未来搜索引擎将能够更好地满足用户的需求,提供更多个性化的服务。

    基于JAVA的搜索引擎的设计与实现.pdf

    "基于JAVA的搜索引擎的设计与实现" 本文档介绍了基于JAVA的搜索引擎的设计与实现,涵盖了搜索引擎的结构、工作原理、技术指标等方面的内容。 首先,文章对搜索引擎的发展历史进行了回顾,从1994年初始到2000年左右...

    搜索引擎的研究与实现(Java)(含源码)

    本资料主要探讨了搜索引擎的原理和实现,特别强调了使用Java语言进行开发。下面将详细阐述这个主题中的关键知识点。 首先,搜索引擎的核心部分是爬虫(Web Crawler)。网络爬虫是一个自动遍历互联网并抓取网页的...

    面向主题的搜索引擎的设计与实现

    通过上述讨论,我们可以看出,面向主题的搜索引擎的设计与实现涵盖了多个层面,从底层的数据爬取和处理到上层的用户交互和个性化服务,都需要深入理解和巧妙应用各种技术。在Java环境下,我们可以充分利用已有的工具...

    Java 搜索引擎源码 rar

    6. **扩展功能**:实际的搜索引擎可能还包括日志分析、性能监控、实时更新、个性化推荐等功能。这些功能在Java源码中可能以插件或模块的形式存在,方便扩展和定制。 通过研究这个Java搜索引擎源码,开发者可以学习...

    JAVA基于网络爬虫的搜索引擎设计与实现.pdf

    基于Java的网络爬虫搜索引擎设计与实现,不仅展示了Java在信息检索领域的应用潜力,也为定制化搜索引擎开发提供了参考。随着技术的进一步发展,未来的搜索引擎将更加智能化,能够更好地理解用户需求,提供个性化的...

    简易搜索引擎架构与实现

    ### 简易搜索引擎架构与实现 #### 一、引言 本文介绍了一种简易搜索引擎的设计与实现细节,旨在提供一套基本的搜索引擎架构方案。...随着技术的发展,未来的搜索引擎将更加智能化、个性化,更好地满足用户的需求。

    基于JAVA新闻搜索引擎的设计与实现

    CAJ版设计论文 本文从搜索引擎技术开始,阐述了搜索引擎的基本原理、所采用的相关技术,进而引出专题搜索引擎,交代了为...用户可以进行个性化设置,限定新闻的刷新频率,新闻源范围。程序根据用户的设置定时刷新新闻。

    搜索引擎核心技术与实现

    《搜索引擎核心技术与实现》这本书由罗刚撰写,主要聚焦于搜索引擎的核心技术和具体实践,特别是使用Apache Lucene这一全文搜索引擎库的实现。以下是该书主要内容的详细解析: **搜索引擎总体结构** 搜索引擎是一...

Global site tag (gtag.js) - Google Analytics