CN103853832B - 一种全文检索***中可定制的数据抓取方法 - Google Patents
一种全文检索***中可定制的数据抓取方法 Download PDFInfo
- Publication number
- CN103853832B CN103853832B CN201410087789.9A CN201410087789A CN103853832B CN 103853832 B CN103853832 B CN 103853832B CN 201410087789 A CN201410087789 A CN 201410087789A CN 103853832 B CN103853832 B CN 103853832B
- Authority
- CN
- China
- Prior art keywords
- file
- index
- document
- module
- retrieval system
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种全文检索***中可定制的数据抓取方法,通过在文档存储***和全文检索***设置建索引模块,对指定格式的文档建立索引,该方法具体包括以下步骤:步骤101,建索引模块从文档存储***获取文件元数据,包括需要进行搜索的信息和文件的头信息;步骤102,建索引模块内部通过文件的头信息识别文件类型,对指定不需要的文件不获取文件内容,并过滤掉无需建立索引的文件;步骤103,建索引模块从文档存储***获取需要建立索引的文件的内容;步骤104,建索引模块提交文件元数据和文件给全文检索***建立索引。与现有技术相比,本发明具有维护方便、提高检索效率、降低访问压力等优点。
Description
技术领域
本发明涉及一种信息检索技术,尤其是涉及一种全文检索***中可定制的数据抓取方法。
背景技术
随着企业的不断发展,企业的文档服务器上的文档不断增加,传统时代通过大脑记忆和肉眼查找文档的方式已经完全不能满足大部分的企业需求。有时对文档存储***上的文档进行归档,可以解决一部分问题。但是如果归完档之后还是很多的情况下,也不能快速地准确地进行查找。
目前,为了满足对拥有大规模的文档服务器进行快速准确的查找的需求,通常采用文档存储***和全文检索***相结合的做法。普通的搜索关键字,都是打开文件,顺序读取文件内容查找关键词。而全文检索是建立关键词与文档的索引关系,当输入关键词的时候,可以直接定位到该文件,所以全文检索***能够满足大数据量下的搜索性能。常见的建索引方法有以下两种:
第一种,文档上传过程就立即或者后台自动建立索引。这种方式因建立索引的时间开销而降低了原本的文档访问的流畅性。而且某些***甚至还需要将已存在的文档重新导入一遍才能让全文检索建立索引。显而易见,这种将文档存储和全文检索深度耦合的做法对于已经有大规模文档的服务器不太适用,同时加大了整个服务器的维护难度。
第二种,单独一台全文检索服务器,先从文档服务器上面把所有文件下载下来,然后建立索引,这种方式较第一种有了很大的进步。但是对于全文检索***来说,部分文档(比如视频音频图片等文件)容量大,将全部的文档内容提交去建索引意义不大。没有将这些文档过滤掉,下载这些大文件增加了文档服务器的访问压力。然而有的时候企业的文档服务器甚至可能只需要检索某几类最常用的文档类型的数据,其中有:office文档(Microsoft office)、pdf文档(Portable Document Format)和文本文档。那么应对这种需求,其他任何格式的文档下载操作和建索引操作都是对服务器资源的一种浪费。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种维护方便、提高检索效率、降低访问压力的全文检索***中可定制的数据抓取方法,通过合理的流程将文档存储***和全文检索***松耦合地结合起来,可对指定格式的文档建立索引,降低文档存储***的访问压力,提高全文全文检索***建立索引效率。
本发明的目的可以通过以下技术方案来实现:
一种全文检索***中可定制的数据抓取方法,其特征在于,通过在文档存储***和全文检索***设置建索引模块,对指定格式的文档建立索引,该方法具体包括以下步骤:
步骤101,建索引模块从文档存储***获取文件元数据,包括需要进行搜索的信息和文件的头信息;
步骤102,建索引模块内部通过文件的头信息识别文件类型,对指定不需要的文件不获取文件内容,并过滤掉无需建立索引的文件;
步骤103,建索引模块从文档存储***获取需要建立索引的文件的内容;
步骤104,建索引模块提交文件元数据和文件给全文检索***建立索引。
该方法具体为:
步骤201,建索引模块浏览文档存储***目录下所有文件的元数据,并将这些元数据存放置容器中,然后执行步骤202;
步骤202,若该目录下没有文件,则直接结束;若该目录下存在文件,则执行步骤203;
步骤203,取出容器中其中一个文件的元数据信息,并从容器中移除该项,然后执行步骤204;
步骤204,利用文件的元数据信息下载该文件的第一个数据块,然后执行步骤205;
步骤205,通过Apache tika开源库和文件的第一个数据块内容来识别文件的类型,然后执行步骤206;
步骤206,判断该类型的文件内容是否为需要用来搜索,若为是,执行步骤207,否则,过滤掉该类型文件内容,不需要下载剩余的数据块,直接执行步骤208;
步骤207,下载剩余的数据块,然后执行步骤208:
步骤208,将文件元数据信息和文件内容提交给全文检索***建立索引,然后返回步骤202,进行下一个文件的建索引过程。
与现有技术相比,本发明具有以下优点:
1、维护方便,由于文档存储***和全文检索***是通过建索引模块这个适配层结合的,因此极大地降低了两个***的耦合性,更便于维护。
2、提高检索效率,由于建索引模块在获取文件的第一块数据时,能够根据文件头识别文档格式,因此可以对指定格式的文档建立索引,同时由于不再是大而全且盲目的建索引,只对指定格式的文档建立索引,因此提高全文检索***的效率。
3、降低访问压力,一方面建索引模块过滤掉了一些不需要建立索引的文档的下载,减少了文档存储***的访问;另一方面不再需要去文档存储***一个个查找需要文档,而是可以先从全文检索***快速定位到文件,因此降低文档存储***的访问压力。
附图说明
图1为本发明实现的整体结构示意图;
图2为本发明的工作流程图;
图3为本发明具体实施例的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例1
如图1所示,一种全文检索***中可定制的数据抓取方法,其特征在于,通过在文档存储***和全文检索***设置建索引模块,对指定格式的文档建立索引,该方法具体包括以下步骤:
步骤101,建索引模块从文档存储***获取文件元数据,包括需要进行搜索的信息和文件的头信息;
步骤102,建索引模块内部通过文件的头信息识别文件类型,对指定不需要的文件不获取文件内容,并过滤掉无需建立索引的文件;
步骤103,建索引模块从文档存储***获取需要建立索引的文件的内容;
步骤104,建索引模块提交文件元数据和文件给全文检索***建立索引。
如图2所示,该方法具体为:
步骤201,建索引模块浏览文档存储***目录下所有文件的元数据,并将这些元数据存放置容器中,然后执行步骤202;
步骤202,若该目录下没有文件,则直接结束;若该目录下存在文件,则执行步骤203;
步骤203,取出容器中其中一个文件的元数据信息,并从容器中移除该项,然后执行步骤204;
步骤204,利用文件的元数据信息下载该文件的第一个数据块,然后执行步骤205;
步骤205,通过Apache tika开源库和文件的第一个数据块内容来识别文件的类型,然后执行步骤206;
步骤206,判断该类型的文件内容是否为需要用来搜索,若为是,执行步骤207,否则,过滤掉该类型文件内容,不需要下载剩余的数据块,直接执行步骤208;
步骤207,下载剩余的数据块,然后执行步骤208;
步骤208,将文件元数据信息和文件内容提交给全文检索***建立索引,然后返回步骤202,进行下一个文件的建索引过程。
实施例2
本发明以全文检索***需要对所有文件的作者,文件的最后修改时间进行搜索,另外需要对office文件,pdf文件和文本文件的内容进行搜索为例,以图3进行详细阐述。
步骤301,浏览目录下所有文件的文件ID、作者和最后修改时间,将其存放置容器中,然后执行步骤302。
步骤302,若该目录下没有文件,则直接结束;若该目录下存在文件,则执行步骤303。
步骤303,取出容器中其中一个文件的ID,并从容器中移除该项,然后执行步骤304。
步骤304,利用文件ID下载该文件的第一个数据块,然后执行步骤305。
步骤305,通过Apache tika开源库和文件的第一个块的内容识别文件的类型,然后执行步骤306。
步骤306,若该类型不是office文件,pdf文件和文本文件,则不需要下载剩余的数据块,直接执行步骤308。
步骤307,对office文件,pdf文件和文本文件利用文件ID下载剩余的数据块,然后执行步骤308。
步骤308,将文件作者和文件最后修改时间及其office文件,pdf文件和文本文件的内容提交给全文检索***建立索引,然后执行步骤302进行下一个文件的建索引过程。
Claims (1)
1.一种全文检索***中可定制的数据抓取方法,其特征在于,通过在文档存储***和全文检索***设置建索引模块,对指定格式的文档建立索引,该方法具体包括以下步骤:
步骤101,建索引模块从文档存储***获取文件元数据,包括需要进行搜索的信息和文件的头信息;
步骤102,建索引模块内部通过文件的头信息识别文件类型,对指定不需要的文件不获取文件内容,并过滤掉无需建立索引的文件;
步骤103,建索引模块从文档存储***获取需要建立索引的文件的内容;
步骤104,建索引模块提交文件元数据和文件给全文检索***建立索引;
该方法具体为:
步骤201,建索引模块浏览文档存储***目录下所有文件的元数据,并将这些元数据存放置容器中,然后执行步骤202;
步骤202,若该目录下没有文件,则直接结束;若该目录下存在文件,则执行步骤203;
步骤203,取出容器中其中一个文件的元数据信息,并从容器中移除该项,然后执行步骤204;
步骤204,利用文件的元数据信息下载该文件的第一个数据块,然后执行步骤205;
步骤205,通过Apache tika开源库和文件的第一个数据块内容来识别文件的类型,然后执行步骤206;
步骤206,判断该类型的文件内容是否为需要用来搜索,若为是,执行步骤207,否则,过滤掉该类型文件内容,不需要下载剩余的数据块,直接执行步骤208;
步骤207,下载剩余的数据块,然后执行步骤208;
步骤208,将文件元数据信息和文件内容提交给全文检索***建立索引,然后返回步骤202,进行下一个文件的建索引过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410087789.9A CN103853832B (zh) | 2014-03-11 | 2014-03-11 | 一种全文检索***中可定制的数据抓取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410087789.9A CN103853832B (zh) | 2014-03-11 | 2014-03-11 | 一种全文检索***中可定制的数据抓取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103853832A CN103853832A (zh) | 2014-06-11 |
CN103853832B true CN103853832B (zh) | 2017-07-28 |
Family
ID=50861487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410087789.9A Active CN103853832B (zh) | 2014-03-11 | 2014-03-11 | 一种全文检索***中可定制的数据抓取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103853832B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777140B (zh) * | 2016-12-19 | 2020-04-10 | 北京天广汇通科技有限公司 | 用于非结构化文档搜索的方法及装置 |
CN109871473A (zh) * | 2019-02-01 | 2019-06-11 | 上海核工程研究设计院有限公司 | 一种对工程文件和数据库建立全文检索文档的方法 |
CN110096478B (zh) * | 2019-05-09 | 2021-06-29 | 中国联合网络通信集团有限公司 | 文档索引生成方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655848A (zh) * | 2008-08-20 | 2010-02-24 | 华为技术有限公司 | 一种实现内容管理的方法、***及装置 |
CN102262640A (zh) * | 2010-05-31 | 2011-11-30 | ***通信集团贵州有限公司 | 一种全文检索文档数据库的方法及装置 |
CN102682073A (zh) * | 2011-03-10 | 2012-09-19 | 微软公司 | 用于搜索引擎检索的原子(atom)的选择 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100727056B1 (ko) * | 2006-04-06 | 2007-06-12 | 엔에이치엔(주) | 로컬 컴퓨터의 프로그램 실행 방법 및 시스템 |
-
2014
- 2014-03-11 CN CN201410087789.9A patent/CN103853832B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655848A (zh) * | 2008-08-20 | 2010-02-24 | 华为技术有限公司 | 一种实现内容管理的方法、***及装置 |
CN102262640A (zh) * | 2010-05-31 | 2011-11-30 | ***通信集团贵州有限公司 | 一种全文检索文档数据库的方法及装置 |
CN102682073A (zh) * | 2011-03-10 | 2012-09-19 | 微软公司 | 用于搜索引擎检索的原子(atom)的选择 |
Also Published As
Publication number | Publication date |
---|---|
CN103853832A (zh) | 2014-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536959B (zh) | 一种Hadoop存取海量小文件的优化方法 | |
CN102930060B (zh) | 一种数据库快速索引的方法及装置 | |
US20070299806A1 (en) | Methods, systems, and computer program products for identifying a container associated with a plurality of files | |
EP3420469B1 (en) | Content classes for object storage indexing systems | |
TW201415262A (zh) | 基於Lucene的倒排索引系統構建、資料處理方法及裝置 | |
CN104331446A (zh) | 一种基于内存映射的海量数据预处理方法 | |
CN103853832B (zh) | 一种全文检索***中可定制的数据抓取方法 | |
CN104298736A (zh) | 数据集合连接方法、装置及数据库*** | |
CN102567418A (zh) | 一种数据整合、搜索的方法及装置 | |
US10990573B2 (en) | Fast index creation system for cloud big data database | |
CN106649800A (zh) | 一种基于Solr的中文检索方法 | |
CN104077385A (zh) | 一种文件的分类及检索方法 | |
CN104778182A (zh) | 基于HBase的数据导入方法和*** | |
CN106528896A (zh) | 一种数据库优化方法和装置 | |
CN103177022A (zh) | 一种恶意文件搜索方法及装置 | |
CN109710743A (zh) | 一种存储池的访问方法、装置及电子设备 | |
US9734171B2 (en) | Intelligent redistribution of data in a database | |
CN102929488A (zh) | 一种电子文档自动笔记***及实现方法 | |
CN104408128B (zh) | 一种基于b+树异步更新索引的读优化方法 | |
US8250060B2 (en) | File uploading method with function of abstracting index information in real time and web storage system using the same | |
CN105426481A (zh) | 处理数据的方法及装置 | |
CN104331460A (zh) | 一种基于Hbase的数据读写操作方法及*** | |
CN106682136A (zh) | 一种基于数据挖掘的中医医学文献分类及存储方法 | |
CN107633037A (zh) | 一种档案整理*** | |
CN104537078B (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 | ||
CB02 | Change of applicant information |
Address after: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant after: SHANGHAI EISOO INFORMATION TECHNOLOGY CO., LTD. Address before: 200072 room 3, building 840, No. 101 Middle Luochuan Road, Shanghai, Zhabei District Applicant before: Shanghai Eisoo Software Co.,Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |