论文部分内容阅读
在当今大数据时代的背景下,随着各行各业信息化的快速发展,各个垂直领域的信息数据呈爆炸式增长。无论是在工作还是生活中,人们已经习惯依赖互联网来获取有效信息,然而海量的数据容易造成信息过载的情况,如何快速并且高效的获取对用户有用的信息已经成为搜索引擎面临的主要问题。针对传统搜索引擎的业务扩展性差以及搜索效率与性能差等问题,本文提出了一种基于ElasticSearch的分布式搜索引擎,在提高检索效率和检索精度的基础上,对用户历史搜索记录进行分析与利用,让搜索引擎能更加智能、更加友好的与用户进行交互。在深入分析系统需求的基础上,主要把系统分为离线数据处理过程和实时搜索显示过程。离线数据处理过程主要包括数据预处理、数据存储、索引更新、扩充词库等问题;实时搜索显示过程主要包括搜索词纠错、搜索词提示、搜索结果排序并显示等问题。本文搜索引擎的设计与实现过程中主要使用到的相关技术包括ElasticSearch框架、文本分词技术、消息队列、新词发现算法、排序算法、N-Gram语言模型以及最短编辑距离算法等。其中,本文采用N-Gram语言统计模型与最短编辑距离算法实现搜索词纠错功能;采用BM25算法对搜索结果进行排序,使得搜索结果更加符合用户的实际需求;采用的是基于统计的新词发现算法来实现词库的扩充,定期通过分析用户的行为日志来进行新词发现,从而可以提高分词的准确度。通过多方面的测试与分析,验证了本系统的实用性、有效性以及实时性。通过对词库的扩充提高了分词的准确度,通过对搜索结果的重排序,返回给用户更满意的结果,改善了用户的体验,提高了付费视频点击率及成交额。目前,本系统已经通过了测试并交付用户使用,得到了用户的积极反馈,搜索引擎系统并未出现重大异常现象。本文在视频领域设计并实现了一个基于ElasticSearch的分布式搜索引擎。首先,本文阐述了项目的研究背景及意义,并分析了搜索引擎的国内外研究现状,然后,本文介绍了系统的实现过程中涉及到的技术,其次,本文阐述了系统的功能性与非功能性需求、概要设计、详细设计与实现,最后对系统进行了测试与性能分析。