`

使用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小型搜索引擎的研究与实现.doc

    总的来说,基于Java的小型搜索引擎研究与实现是一项旨在提高信息检索质量和效率的项目,它结合了现有搜索引擎的优点,同时针对特定环境进行了优化,以满足日益增长的个性化和局域网信息需求。通过这一研究,我们可以...

    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搜索引擎源码,开发者可以学习...

    人工智能-项目实践-搜索引擎-本网站实现了多引擎搜索,可以在百度,bing,360,搜狗四个搜索引擎中随意切换 后台使用ssh三

    在这个项目中,我们聚焦于如何通过智能算法来提升搜索体验,实现更加精准和个性化的搜索结果。 “多引擎搜索”指的是该项目支持用户在不同的搜索引擎之间切换,包括百度、Bing、360和搜狗。这种功能的实现需要对...

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

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

    简易搜索引擎架构与实现

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

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

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

Global site tag (gtag.js) - Google Analytics