CN101196935B - 一种创建索引库的系统及其方法 - Google Patents
一种创建索引库的系统及其方法 Download PDFInfo
- Publication number
- CN101196935B CN101196935B CN2008100560008A CN200810056000A CN101196935B CN 101196935 B CN101196935 B CN 101196935B CN 2008100560008 A CN2008100560008 A CN 2008100560008A CN 200810056000 A CN200810056000 A CN 200810056000A CN 101196935 B CN101196935 B CN 101196935B
- Authority
- CN
- China
- Prior art keywords
- index
- module
- text message
- extracting
- interim
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种创建索引库的系统及其方法,其中,该方法包括:步骤一,对从数据源中提取的文本信息进行预处理,得到预处理后的文本信息;步骤二,创建多个临时子索引库,并将根据所述预处理后的文本信息生成的索引记录写入到所述多个临时子索引库中;步骤三,对所述多个临时子索引库中的索引记录进行合并处理,生成单一的目标索引库。本发明充分利用服务器多CPU的处理能力,提高了索引记录生成的效率;提高了索引记录写入的效率;同时不会增加系统复杂性,且不改变原有索引库的格式。
Description
技术领域
本发明涉及搜索引擎领域,特别是涉及一种创建索引库的系统及其方法。
背景技术
搜索引擎系统是一种网络应用系统,它能够接收用户通过浏览器或者其他客户端提交的查询短语或者表达式,在一个可以接收的时间内返回一个和该用户查询匹配的信息列表,并帮助用户获取列表指引的信息。除了在传统的图书馆进行文档检索外,在目前的互联网搜索领域,企业信息检索及服务领域,搜索引擎都得到了广泛应用。
搜索引擎系统主要包括检索和索引创建两个子系统。索引创建子系统通常包括抓取模块、预处理模块、索引生成与维护模块。目前的搜索引擎系统中抓取模块从各类型的数据源中提取和搜集信息,可以支持从网络、数据库、文件服务器数据源中提取文本信息,然后由预处理模块进行净化、消重等处理工作,最后索引生成与维护模块创建索引记录。目前数据在索引生成与维护模块的控制下,逐条将文本信息生成索引记录并加入索引库中。
由于现在的搜索引擎系统数据量越来越大,因此这种方式存在一些缺陷:
1)由于索引库只有一个,索引记录需要逐条加入索引库,计算机并行能力得不到发挥;
2)由于单个索引库的尺寸在数据量大时越来越大,索引记录向索引库逐条添加/写入/插入的过程中,速度会越来越慢。因此在这种单索引库方式下,索引创建的效率非常低。对此,目前已有的一种解决方案是采用并行服务器,将索引分割在多台服务器上处理,并采用并行服务检索方式,但这种方法会使系统架构变得很复杂,不适于普通企业搜索引擎系统的使用。
发明内容
本发明所要解决的技术问题在于提供一种创建索引库的系统及其方法,用于解决现有技术中索引记录生成、写入效率较低,系统架构较复杂的问题。
为了实现上述目的,本发明提供了一种创建索引库的系统,包括用于从数据源提取文本信息的抓取模块、用于对所述文本信息进行预处理的预处理模块,还包括:
调度模块,连接所述抓取模块,用于对所述抓取模块进行调度控制;
索引生成模块,连接所述调度模块、所述预处理模块,用于在所述调度模块的调度控制下从所述预处理模块获取预处理后的文本信息,根据所述预处理后的文本信息生成索引记录,并将所述索引记录采用并行方式写入到所创建的多个临时子索引库中;
索引库合并模块,连接所述索引生成模块,用于对所述多个临时子索引库中的索引记录进行合并处理,得到单一的目标索引库。
所述的创建索引库的系统,其中,所述调度模块根据设定的策略或事件对所述抓取模块和所述索引生成模块进行调度控制;并当满足抓取策略时,启动所述抓取模块;当满足索引生成策略时,启动所述索引生成模块。
所述的创建索引库的系统,其中,所述抓取模块从不同的数据源以不同的方式提取所述文本信息;
当从互联网上提取所述文本信息时,通过HTTP方式到互联网上提取;
当从数据库中提取所述文本信息时,通过数据库接口方式提取;
当从电子文档中提取所述文本信息时,通过对应格式的插件提取。
所述的创建索引库的系统,其中,所述索引生成模块根据所述预处理后的文本信息的信息数量或所述索引记录的规模创建所述多个临时子索引库。
为了实现上述目的,本发明提供了一种创建索引库的方法,其特征在于,包括:
步骤一,对从数据源中提取的文本信息进行预处理,得到预处理后的文本信息;
步骤二,创建多个临时子索引库,并将根据所述预处理后的文本信息生成的索引记录采用并行方式写入到所述多个临时子索引库中;
步骤三,对所述多个临时子索引库中的索引记录进行合并处理,生成单一的目标索引库。
所述的创建索引库的方法,其中,所述步骤一中,进一步包括:通过对所述文本信息进行净化、消重和/或格式化实现预处理的步骤。
所述的创建索引库的方法,其中,所述步骤二中,进一步包括:根据所述预处理后的文本信息的信息数量创建所述多个临时子索引库的步骤。
所述的创建索引库的方法,其中,所述步骤二中,进一步包括:通过启动多个并行处理线程获取所述预处理后的文本信息的步骤。
与现有技术相比,本发明的有益技术效果在于:
1)采用并行生成索引记录的方式,充分利用服务器多CPU的处理能力,提高了索引记录生成的效率;
2)采用多个小尺寸的临时子索引库,在逐条增加索引记录时,提高了索引记录写入的效率;
3)不改变单服务器的体系结构和搜索系统的体系结构,不会增加系统复杂性;
4)不改变原有索引库的格式。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1是本发明索引创建系统的结构示意图;
图2是本发明并行创建索引库的方法流程图;
图3是本发明从互联网抓取数据并生成索引库的具体流程图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步更详细的描述。
如图1所示,是本发明索引创建系统的结构示意图。该索引创建系统是一种利用并行方式实现大数据量下索引库快速创建的系统,其中,虚框部分数据源21是系统外部模块,其他是系统内部模块,索引创建系统100包括:调度模块11、抓取模块12、预处理模块13、索引生成模块14、索引库合并模块15。
调度模块11,用于按设定的策略或者事件工作,负责抓取模块12和索引生成模块14的调度控制。
具体地,调度模块11根据设定的索引创建的时间策略或者其他策略,来控制抓取模块12和索引生成模块14的启动和停止。
当满足抓取策略时,调度模块11启动抓取模块12。
当满足索引生成策略时,调度模块11启动索引生成模块14。
调度模块11的策略可以按多种方式设定,包括时间、事件、数据量等。
抓取模块12,用于通过各种通讯方式从各种数据源21中提取数据,并生成文本信息。对于不同的数据源21,抓取模块12需要采用不同的方式提取数据。比如:
a1)从互联网上提取数据时,抓取模块12需要通过HTTP方式到互联网上抓取;
a2)从数据库中提取数据时,抓取模块12需要通过数据库接口方式提取数据;
a3)从电子文档中提取数据时,抓取模块12需要使用对应格式的插件来进行提取。
预处理模块13,用于按特定预处理算法对抓取模块12得到的文本信息进行预处理,得到处理后的文本信息。
根据各搜索引擎系统的不同要求,预处理模块13内部的处理步骤不完全一致,通常会包括净化、消重和/或格式化等步骤。经过预处理模块13处理后的文本信息,能够用于索引记录的生成。
索引生成模块14,用于从预处理模块13中获取经过处理的文本信息,将文本信息或与相关信息(如信息日期、大小)结合生成索引记录,创建多个临时子索引库22,将索引记录写入到临时子索引库22中。具体地,需要完成3个方面的工作,包括:
b1)根据索引记录的规模创建多个临时子索引库22;
b2)从预处理模块13获取文本信息,并生成索引记录,一条文本信息对应一条索引记录;
b3)采用并行方式将索引记录写入到各临时子索引库22中。
索引生成模块14将所有索引记录写入各临时子索引库22后,通知索引库合并模块15,由索引库合并模块15对各临时子索引库22进行合并处理。
索引库合并模块15,用于针对多个临时子索引库22,对多个临时子索引库22的索引记录采取数据批量合并处理,将多个临时子索引库22合并为一个单一的目标索引库23,得到所需要的最终索引库。
当临时子索引库22生成完毕后,索引库合并模块15将临时子索引库22的索引记录做数据批量合并处理,生成单一的目标索引库23。
如图2所示,是本发明并行创建索引库的方法流程图。结合图1,该流程描述了搜索引擎系统中一种利用并行方式实现大数据量情况下,索引库快速创建的方法,具体步骤如下:
步骤S201,调度模块11根据系统设定的策略或者触发事件,在特定时间或事件到来的时候,启动抓取模块12,开始从数据源21提取文本信息;
步骤S202,预处理模块13将提取到的文本信息进行加工处理,如净化、消重、格式化等处理,并将处理后结果保存下来;
步骤S203,调度模块11根据系统设定的策略或者触发事件,在特定时间或事件到来的时候,启动索引生成模块14,从预处理模块13获取信息数量,根据信息数量生成多个临时子索引库22;
步骤S204,索引生成模块14启动多个并行处理线程,由并行处理线程从预处理模块13中获取文本信息,生成索引记录,采用并行方式将索引记录写入到各临时子索引库22;
步骤S205,索引库合并模块15在各临时子索引库22生成完毕后,对各临时子索引库22的索引记录采取数据批量合并处理,生成单一的目标索引库23。
如图3所示,是本发明从互联网抓取数据并生成索引库的具体流程图。结合图1、2,该流程描述了从互联网抓取数据并生成索引库的具体过程,具体步骤如下:
步骤S301,索引系统的调度模块11运行;
步骤S302,调度模块11根据调度策略,当互联网信息抓取的条件满足时,调度模块11启动抓取模块12;
步骤S303,抓取模块12根据配置的目标网站的地址列表,对目标网站上的网页进行抓取,并将抓取到的网页保存在本地;
步骤S304,抓取模块12通知预处理模块13进行预处理;
步骤S305,预处理模块13对抓取模块12获取的页面文件进行预处理。从页面文件从提取文本信息,利用净化过程去除页面文件中不相关的信息,对多个页面进行消重处理,并将生成的文本信息保存在本地;
步骤S306,调度模块11根据调度策略,当索引生成策略满足时,调度模块11启动索引生成模块14;
步骤S307,索引生成模块14根据索引记录的规模,生成多个临时子索引库22;
步骤S308,索引生成模块14从预处理模块13中获取文本信息,生成索引记录;
步骤S309,索引生成模块14根据临时子索引库22的个数创建多个线程,采用并行方式将索引记录写入到各临时子索引库22中;
步骤S310,索引记录写入完成后,索引生成模块14通知索引库合并模块15进行合并处理;索引库合并模块15通过索引的批量合并处理,将各临时子索引库22合并为一个单一的目标索引库23。
步骤S311,目标索引库23生成完毕。
通过上述方式,用户不需要描述自身的位置信息,通过系统进行信息搜索时,系统能够根据用户终端位置信息和记录位置信息进行比较精确的位置筛选,得出合适的记录。
本发明提供了一种搜索引擎中并行创建索引库的方法和系统,利用该方法和系统,搜索引擎系统可以在不改变原有的索引库格式和搜索体系架构的前提下,在单服务器上采用多个临时子索引库和并行插入的方式生成目标索引库,从而大大提高索引创建的效率,减少了搜索引擎系统与数据源信息保持同步所需要的时间差。
由于用户在进行检索过程中,检索信息的准确性和及时性都依赖于索引库中索引信息和数据源信息的实效差异及准确性差异。减少搜索引擎系统与数据源信息保持同步所需要的时间差有利于提高检索的准确性和及时性。
另外,很多企业都采用单索引服务器,因此采用并行方式写入索引记录能有效发挥单服务器的多CPU性能。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种创建索引库的系统,包括用于从数据源提取文本信息的抓取模块、用于对所述文本信息进行预处理的预处理模块,其特征在于,还包括:
调度模块,连接所述抓取模块,用于对所述抓取模块进行调度控制;
索引生成模块,连接所述调度模块、所述预处理模块,用于在所述调度模块的调度控制下从所述预处理模块获取预处理后的文本信息,根据所述预处理后的文本信息生成索引记录,并将所述索引记录采用并行方式写入到所创建的多个临时子索引库中;
索引库合并模块,连接所述索引生成模块,用于对所述多个临时子索引库中的索引记录进行合并处理,得到单一的目标索引库。
2.根据权利要求1所述的创建索引库的系统,其特征在于,所述调度模块根据设定的策略或事件对所述抓取模块和所述索引生成模块进行调度控制;并当满足抓取策略时,启动所述抓取模块;当满足索引生成策略时,启动所述索引生成模块。
3.根据权利要求1所述的创建索引库的系统,其特征在于,所述抓取模块从不同的数据源以不同的方式提取所述文本信息;
当从互联网上提取所述文本信息时,通过HTTP方式到互联网上提取;
当从数据库中提取所述文本信息时,通过数据库接口方式提取;
当从电子文档中提取所述文本信息时,通过对应格式的插件提取。
4.根据权利要求1、2或3所述的创建索引库的系统,其特征在于,所述索引生成模块根据所述预处理后的文本信息的信息数量或所述索引记录的规模创建所述多个临时子索引库。
5.一种创建索引库的方法,其特征在于,包括:
步骤一,对从数据源中提取的文本信息进行预处理,得到预处理后的文本信息;
步骤二,创建多个临时子索引库,并将根据所述预处理后的文本信息生成的索引记录采用并行方式写入到所述多个临时子索引库中;
步骤三,对所述多个临时子索引库中的索引记录进行合并处理,生成单一的目标索引库。
6.根据权利要求5所述的创建索引库的方法,其特征在于,所述步骤一中,进一步包括:通过对所述文本信息进行净化、消重和/或格式化实现预处理的步骤。
7.根据权利要求5所述的创建索引库的方法,其特征在于,所述步骤二中,进一步包括:根据所述预处理后的文本信息的信息数量创建所述多个临时子索引库的步骤。
8.根据权利要求5、6或7所述的创建索引库的方法,其特征在于,所述步骤二中,进一步包括:通过启动多个并行处理线程获取所述预处理后的文本信息的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100560008A CN101196935B (zh) | 2008-01-03 | 2008-01-03 | 一种创建索引库的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100560008A CN101196935B (zh) | 2008-01-03 | 2008-01-03 | 一种创建索引库的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101196935A CN101196935A (zh) | 2008-06-11 |
CN101196935B true CN101196935B (zh) | 2010-06-09 |
Family
ID=39547347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100560008A Expired - Fee Related CN101196935B (zh) | 2008-01-03 | 2008-01-03 | 一种创建索引库的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101196935B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103602B (zh) * | 2009-12-17 | 2013-02-27 | 腾讯科技(深圳)有限公司 | 一种提高检索速度的系统及方法 |
CN101840312B (zh) * | 2009-12-31 | 2012-01-11 | 创新科存储技术有限公司 | 一种用于多核处理器的raid5写数据方法及装置 |
CN101989301B (zh) * | 2010-10-22 | 2012-05-23 | 复旦大学 | 一种支持多数据源的索引维护方法 |
CN103631792B (zh) * | 2012-08-22 | 2017-01-25 | 北京华财会计股份有限公司 | 海量资料索引建立系统及方法 |
CN104321766A (zh) * | 2012-12-31 | 2015-01-28 | 华为技术有限公司 | 数据的处理方法和装置 |
CN103714121B (zh) * | 2013-12-03 | 2017-07-14 | 华为技术有限公司 | 一种索引记录的管理方法及装置 |
CN106407376B (zh) * | 2016-09-12 | 2019-12-20 | 杭州数梦工场科技有限公司 | 重建索引方法及装置 |
CN109960695B (zh) * | 2019-04-09 | 2020-03-13 | 苏州浪潮智能科技有限公司 | 云计算系统中数据库的管理方法和装置 |
CN112417091A (zh) * | 2020-10-16 | 2021-02-26 | 北京斗米优聘科技发展有限公司 | 一种文本检索方法及装置 |
CN113672627B (zh) * | 2021-09-08 | 2023-08-18 | 湖南惠农科技有限公司 | Elasticsearch搜索引擎索引构建方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778977B1 (en) * | 2001-04-19 | 2004-08-17 | Microsoft Corporation | Method and system for creating a database table index using multiple processors |
CN1536483A (zh) * | 2003-04-04 | 2004-10-13 | 陈文中 | 网络信息抽取及处理的方法及系统 |
-
2008
- 2008-01-03 CN CN2008100560008A patent/CN101196935B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778977B1 (en) * | 2001-04-19 | 2004-08-17 | Microsoft Corporation | Method and system for creating a database table index using multiple processors |
CN1536483A (zh) * | 2003-04-04 | 2004-10-13 | 陈文中 | 网络信息抽取及处理的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101196935A (zh) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101196935B (zh) | 一种创建索引库的系统及其方法 | |
CN1292371C (zh) | 倒排索引存储方法、倒排索引机制以及在线更新的方法 | |
CN104679778B (zh) | 一种搜索结果的生成方法及装置 | |
CN104317966B (zh) | 一种用于电力大数据快速组合查询的动态索引方法 | |
CN100541495C (zh) | 一种个性化搜索引擎的搜索方法 | |
CN102710795B (zh) | 热点聚合方法及装置 | |
CN105912609A (zh) | 一种数据文件处理方法和装置 | |
CN103020315A (zh) | 一种基于主从分布式文件系统的海量小文件存储方法 | |
CN102426609A (zh) | 一种基于MapReduce编程架构的索引生成方法和装置 | |
CN100458784C (zh) | 在数字图书馆中所采用的检索系统和检索方法 | |
CN101196900A (zh) | 一种基于元数据的信息检索方法 | |
CN102163226A (zh) | 基于映射-化简和分词及邻接排序去重方法 | |
CN105183884A (zh) | 一种基于大数据技术的搜索引擎系统及搜索引擎方法 | |
CN1417709A (zh) | 信息检索系统及其信息检索方法 | |
WO2007085187A1 (fr) | Procédé d'extraction de données, procédé de production de fichiers d'index et moteur de recherche | |
CN1794239A (zh) | 具有搜索功能的模板式网站自动生成系统及其方法 | |
Gao et al. | Application of full text search engine based on Lucene | |
CN101957860B (zh) | 一种发布、搜索信息的方法及装置 | |
CN103186607A (zh) | 分布式语音检索系统 | |
CN109947935A (zh) | 新闻事件的生成方法及装置 | |
CN102541924B (zh) | 一种检索信息的缓存方法和搜索引擎系统 | |
CN102521383A (zh) | 一种分布式系统中的海量文件存储和访问方法 | |
Hurst et al. | Social streams blog crawler | |
CN102591878A (zh) | 技术标准的数字化处理方法 | |
CN104462613A (zh) | 热点聚合方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100609 Termination date: 20170103 |