CN118093773A - 一种业务系统非结构化数据全文检索方法及系统 - Google Patents
一种业务系统非结构化数据全文检索方法及系统 Download PDFInfo
- Publication number
- CN118093773A CN118093773A CN202311676570.8A CN202311676570A CN118093773A CN 118093773 A CN118093773 A CN 118093773A CN 202311676570 A CN202311676570 A CN 202311676570A CN 118093773 A CN118093773 A CN 118093773A
- Authority
- CN
- China
- Prior art keywords
- unstructured data
- software framework
- solr
- index
- enterprise
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 9
- 238000011161 development Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000002955 isolation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种业务系统非结构化数据全文检索方法及系统,包括:定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新;获取查询请求;将查询请求代入更新后的预先构建的分布式非结构化数据检索平台,输出检索结果;其中,所述分布式非结构化数据检索平台是在服务器中部署OpenStack的Swift和Solr软件框架构建的。本发明通过定期更新分布式非结构化数据检索平台,使得非结构化数据更全面,而且采用OpenStack的Swift和Solr软件框架可高效、便捷地检索出所需的数据。
Description
技术领域
本发明涉及数据检索领域,具体涉及一种业务系统非结构化数据全文检索方法及系统。
背景技术
随着业务系统建设的深入,使得普遍存在大量的Word、Excel和PDF等文档数据,这些数据是企业运营最主要、最普遍的数据组织管理内容之一,企业众多的生产、经营决策及日常管理也主要依赖这些文档数据开展,员工们查找数据信息极为不便。
现有技术对非结构化数据查询方法一般有以下两种:
(1)顺序扫描法(Serial Scanning)
所谓顺序扫描,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾,如果此文档包含此字符串,则此文档为我们要找的文件,接着看下一个文件,直到扫描完所有的文件。但搜索速度是相当的慢。
(2)全文检索(Full-text Search)
将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。
这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search),但创建索引的过程非常耗时。
发明内容
为了解决现有技术采用顺序扫描法会存在搜索速度慢,采用全文检索会存在创建索引非常耗时的问题,本发明提出了一种业务系统非结构化数据全文检索方法,包括:
定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新;
获取查询请求;
将查询请求代入更新后的预先构建的分布式非结构化数据检索平台,输出检索结果;
其中,所述分布式非结构化数据检索平台是在服务器中部署OpenStack的Swift和Solr软件框架构建的。
可选的,所述分布式非结构化数据检索平台的构建包括:
在服务器上部署OpenStack的Swift软件框架和Solr软件框架;
将企业的非结构化数据导入所述Swift软件框架内进行存储;
通过Solr软件框架对存储在所述Swift软件框架内的非结构化数据并行创建索引,并将所述索引存储在所述Solr软件框架的索引库中;
由部署在服务器中的Swift和Solr软件框架结合企业的非结构化数据构建分布式非结构化数据检索平台。
可选的,所述在服务器上部署OpenStack的Swift软件框架和Solr软件框架,包括:
在PC服务器群上安装Linux操作系统,在Linux环境下并行部署OpenStack Swift以及Solr开发框架。
可选的,所述将企业内的非结构化数据导入所述Swift软件框架内进行存储,包括:
OpenStack的Swift采用账户/容器/对象三层逻辑结构,将企业非结构化数据进行存储,其中非结构化数据中的元数据和数据作为对象,将封装的一组元数据和所述数据作为容器,将账户作为顶层的隔离机制;
Swift通过ProxyServer向外提供基于HTTP的REST服务接口,根据环的信息查找服务地址并转发查询请求至相应的账户、容器或者对象。
可选的,所述通过Solr软件框架对存储在所述Swift软件框架内的非结构化数据并行创建索引,包括:
所述Solr软件框架封装了Lucene定义文档对象、描述文档属性、分析处理文档、索引生成和索引存储。
可选的,所述Solr软件框架封装了Lucene索引生成包括:
从关键字到文档的映射信息的反向索引,根据查询请求通过反向索引查找到所述查询请求所在的文档编号。
再一方面,本申请还提供了一种业务系统非结构化数据全文检索系统,包括:
更新模块,用于定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新;
请求获取模块,用于获取查询请求;
查询模块,用于将查询请求代入更新后的预先构建的分布式非结构化数据检索平台,输出检索结果;
其中,所述分布式非结构化数据检索平台是在服务器中部署OpenStack的Swift和Solr软件框架构建的。
可选的,还包括平台构建模块,用于构建分布式非结构化数据检索平台。
可选的,平台构建模块包括:
部署子模块,用于在服务器上部署OpenStack的Swift软件框架和Solr软件框架;
存储子模块,用于将企业的非结构化数据导入所述Swift软件框架内进行存储;
索引子模块,用于通过Solr软件框架对存储在所述Swift软件框架内的非结构化数据并行创建索引,并将所述索引存储在所述Solr软件框架的索引库中;
构建组合子模块,用于由部署在服务器中的Swift和Solr软件框架结合企业的非结构化数据构建分布式非结构化数据检索平台。
可选的,所述部署子模块具体用于:
在PC服务器群上安装Linux操作系统,在Linux环境下并行部署OpenStack Swift以及Solr开发框架。
可选的,所述存储子模块具体用于:
OpenStack的Swift采用账户/容器/对象三层逻辑结构,将企业非结构化数据进行存储,其中非结构化数据中的元数据和数据作为对象,将封装的一组元数据和所述数据作为容器,将账户作为顶层的隔离机制;
Swift通过ProxyServer向外提供基于HTTP的REST服务接口,根据环的信息查找服务地址并转发查询请求至相应的账户、容器或者对象。
可选的,所述索引子模块具体用于:所述Solr软件框架封装了Lucene定义文档对象、描述文档属性、分析处理文档、索引生成和索引存储。
可选的,所述索引子模块中的所述Solr软件框架封装了Lucene索引生成具体实现步骤包括:
从关键字到文档的映射信息的反向索引,根据查询请求通过反向索引查找到所述查询请求所在的文档编号。
再一方面,本申请还提供了一种计算设备,包括:一个或多个处理器;
处理器,用于执行一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,实现如上述所述的一种业务系统非结构化数据全文检索方法。
再一方面,本申请还提供了一种计算机可读存储介质,其上存有计算机程序,所述计算机程序被执行时,实现如上述所述的一种业务系统非结构化数据全文检索方法。
与现有技术相比,本发明的有益效果为:
本发明提供了一种业务系统非结构化数据全文检索方法,包括:定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新;获取查询请求;将查询请求代入更新后的预先构建的分布式非结构化数据检索平台,输出检索结果;其中,所述分布式非结构化数据检索平台是在服务器中部署OpenStack的Swift和Solr软件框架构建的。本发明通过定期更新分布式非结构化数据检索平台,使得非结构化数据更全面,而且采用OpenStack的Swift和Solr软件框架可高效、便捷地检索出所需的数据。
附图说明
图1为本发明的一种业务系统非结构化数据全文检索方法流程图。
具体实施方式
本发明提出一种业务系统非结构化数据全文检索方法,在计算机集群上部署OpenStack Swift开发框架以及Solr式全文检索系统,将业务系统中的非结构化数据进行集中式的存储、管理,并且提供统一的搜索服务,使得企业相关人员能够高效、便捷地检索出所需的数据。为员工工作提供帮助,为企业提供决策支持,以供参考。
实施例1:
一种业务系统非结构化数据全文检索方法,如图1所示,包括:
步骤1:定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新;
步骤2:获取查询请求;
步骤3:将查询请求代入更新后的预先构建的分布式非结构化数据检索平台,输出检索结果;
其中,所述分布式非结构化数据检索平台是在服务器中部署OpenStack的Swift和Solr软件框架构建的。
步骤1:定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新,包括:
将所述企业的非结构化数据代入预先构建的分布式非结构化数据检索平台中的OpenStack的Swift软件框架中,并通过分布式非结构化数据检索平台中的Solr软件框架对新存入到所述Swift软件框架内的非结构化数据并行创建索引,并将所述索引存储在所述Solr软件框架的索引库中,完成对分布式非结构化数据检索平台的更新。
在步骤2之前还包括:构建分布式非结构化数据检索平台。该分布式非结构化数据检索平台具体构建过程包括:
在服务器上部署OpenStack的Swift软件框架和Solr软件框架;
将企业的非结构化数据导入所述Swift软件框架内进行存储;
通过Solr软件框架对存储在所述Swift软件框架内的非结构化数据并行创建索引,并将所述索引存储在所述Solr软件框架的索引库中;
由部署在服务器中的Swift和Solr软件框架结合企业的非结构化数据构建分布式非结构化数据检索平台。
进一步的,所述在服务器上部署OpenStack的Swift软件框架和Solr软件框架,包括:
在PC服务器群上安装Linux操作系统,在Linux环境下并行部署OpenStack Swift以及Solr开发框架。
进一步的,所述将企业内的非结构化数据导入所述Swift软件框架内进行存储,包括:
OpenStack的Swift采用账户/容器/对象三层逻辑结构,将企业非结构化数据进行存储,其中非结构化数据中的元数据和数据作为对象,将封装的一组元数据和所述数据作为容器,将账户作为顶层的隔离机制;
Swift通过ProxyServer向外提供基于HTTP的REST服务接口,根据环的信息查找服务地址并转发查询请求至相应的账户、容器或者对象。
进一步的,所述通过Solr软件框架对存储在所述Swift软件框架内的非结构化数据并行创建索引,包括:
所述Solr软件框架封装了Lucene定义文档对象、描述文档属性、分析处理文档、索引生成和索引存储。
进一步的,所述Solr软件框架封装了Lucene生成从关键字到文档的映射信息的反向索引,根据查询请求通过反向索引查找到所述查询请求所在的文档编号。
下面对本发明涉及的分布式非结构化数据检索平台做进一步介绍:
Apache Solr是目前流行的开源搜索服务器,现已能够在计算机集群上提供海量数据的检索服务。在此构建基于OpenStack Swift和Solr的企业级分布式非结构化数据检索平台,企业只需在少量服务器上部署这两种软件框架,就可用较低的成本迅速开始进行大数据集的处理,随后可根据业务需求逐步将集群扩展到更多节点。该平台利用OpenStack上的分布式对象存储系统Swift以及Solr检索系统实现对海量非结构化数据的分布式存储和检索。
首先在PC服务器群上安装Linux操作系统,然后在Linux环境下并行部署OpenStack Swift以及Solr开发框架,进而设计和开发出该平台。系统集群中,企业非机构化数据分布式存储在OpenStack Swift的对象存储系统中,相应的检索索引数据则分布在Solr搜索引擎的索引库中。平台解决的主要问题是海量非结构化数据的检索,其特点是文件及其索引信息存储在相同集群不同的逻辑存储结构中。
用户在相应的客户端中上传文件到平台的分布式对象存储系统(Swift)后,Solr的索引处理模块在计算机节点上为大量文件并行创建索引,并将索引及其存储在相应的索引库中。用户在系统中执行搜索操作时,通过平台的负载均衡策略随机登录到分布式云存储中任何一台可用服务器,通过搜索引擎将检索结果合并汇总,最终通过登录到的服务器节点反馈给用户。
下面对分布式非结构化数据检索平台中的OpenStack的Swift和Solr软件框架分别进行介绍:
(1)海量非结构化数据的集中存储。
首先实现分散的非结构化数据的集中存储。企业内非结构化数以及分散在各个员工终端、文件服务器以及各业务系统中。为实现企业非结构化数据的统一管理,平台为不同类型的业务系统提供了具体有效的接入方案,满足多类型业务系统的接入需求,构建起企业级的非结构化数据存储中心,平台采用OpenStack的Swift集中存储企业非结构化数据,各用户可以对非结构化数据进行共享协作及访问业务系统中的非架构化数据,打破了原来业务系统管理各自非结构化数据的瓶颈,促进了系统间的信息交互。
Swift是一个采用层次数据模型,共设三层逻辑结构:
Account/Container/Object(账户/容器/对象)。每层节点数均没有限制,可以任意扩展。这里的账户和个人账户不是一个概念,可理解为租户,用来做顶层的隔离机制,可以被多个个人账户所共同使用;容器类似文件夹,代表封装一组对象;对象由元数据和数据两部分组成。
Swift组件包括:
代理服务(ProxyServer):Swift通过ProxyServer向外提供基于HTTP的REST服务接口,会根据环的信息来查找服务地址并转发用户请求至相应的账户、容器或者对象,进行CRUD(增删改查)等操作。由于采用无状态的REST请求协议,可以进行横向扩展来均衡负载。在访问Swift服务之前,需要先通过认证服务获取访问令牌,然后在发送的请求中加入头部信息X-Auth-Token。代理服务器负责Swift架构的其余组件间的相互通信。代理服务器也处理大量的失败请求。例如,如果对于某个对象PUT请求时,某个存储节点不可用,它将会查询环可传送的服务器并转发请求。对象以流的形式到达对象服务器,它们直接从代理服务器传送到用户—代理服务器并不缓冲它们。
认证服务(AuthenticationServer):验证访问用户的身份信息,并获得一个对象访问令牌(Token),在一定的时间内会一直有效;验证访问令牌的有效性并缓存下来直至过期时间。
缓存服务(CacheServer):缓存的内容包括对象服务令牌,账户和容器的存在信息,但不会缓存对象本身的数据;缓存服务可采用Memcached集群,Swift会使用一致性哈希算法来分配缓存地址。
账户服务(AccountServer):提供账户元数据和统计信息,并维护所含容器列表的服务,每个账户的信息被存储在一个SQLite数据库中。
容器服务(ContainerServer):提供容器元数据和统计信息(比如对象的总数,容器的使用情况等),并维护所含对象列表的服务。容器服务并不知道对象存在哪,只知道指定容器里存的哪些对象。这些对象信息以SQLite数据库文件的形式存储,和对象一样在集群上做类似的备份。
对象服务(ObjectServer):提供对象元数据和内容服务,可以用来存储、检索和删除本地设备上的对象。在文件系统中,对象以二进制文件的形式存储,它的元数据存储在文件系统的扩展属性(xattr)中,建议采用默认支持扩展属性(xattr)的XFS文件系统。每个对象使用对象名称的哈希值和操作的时间戳组成的路径来存储。最后一次写操作总可以成功,并确保最新一次的对象版本将会被处理。删除也被视为文件的一个版本(一个以".ts"结尾的0字节文件,ts表示墓碑)。
复制服务(Replicator):会检测本地分区副本和远程副本是否一致,具体是通过对比哈希文件和高级水印来完成,发现不一致时会采用推式(Push)更新远程副本:对于对象的复制,更新只是使用rsync同步文件到对等节点。帐号和容器的复制通过HTTP或rsync来推送整个数据库文件上丢失的记录;另外一个任务是确保被标记删除的对象从文件系统中移除:当有一项(对象、容器、或者帐号)被删除,则一个墓碑文件被设置作为该项的最新版本。复制器将会检测到该墓碑文件并确保将它从整个系统中移除。更新服务(Updater):当对象由于高负载或者系统故障等原因而无法立即更新时,任务将会被序列化到在本地文件系统中进行排队,以便服务恢复后进行异步更新;例如成功创建对象后容器服务器没有及时更新对象列表,这个时候容器的更新操作就会进入排队中,更新服务会在系统恢复正常后扫描队列并进行相应的更新处理。
审计服务(Auditor):在本地服务器上会反复地爬取来检查对象,容器和账户的完整性,如果发现比特级的错误,文件将被隔离,并复制其他的副本以覆盖本地损坏的副本;其他类型的错误(比如在任何一个容器服务器中都找不到所需的对象列表)会被记录到日志中。
账户清理服务(AccountReaper):移除被标记为删除的账户,删除其所包含的所有容器和对象。删除账号的过程是相当直接的。对于每个账号中的容器,每个对象先被删除然后容器被删除。任何失败的删除请求将不会阻止整个过程,但是将会导致整个过程最终失败(例如,如果一个对象的删除超时,容器将不能被删除,因此账号也不能被删除)。整个处理过程即使遭遇失败也继续执行,这样它不会因为一个麻烦的问题而中止恢复集群空间。账号收割器将会继续不断地尝试删除账号直到它最终变为空,此时数据库在db_replicator中回收处理,最终移除这个数据库文件。
(2)非结构化数据搜索引擎服务器Solr中的关键技术。
Solr是基于Lucene的开源搜索引擎,它填补了Lucene仅作为开发工具包的遗憾,开箱即用,是一个完整的全文检索服务器。Solr底层的核心技术是使用Lucene实现的,它封装了Lucene定义文档对象、描述文档属性、分析处理文档、索引生成、索引存储等整个索引建立的流程。其主要功能包括强大的全文检索功能,高亮显示检索结果,电子文档(Word、Excel、PDF等)的处理,Solr易于安装和配置。
Solr服务器采用高效的倒排索引组织结构。倒排索引采用面向单词的索引机制,它建立关键词到文件的映射,每个关键词都有一个置入列表来记录该词在所有文档中出现的编号、位置、频率等信息。每个字或词对应的文档是动态变化的,导致倒排索引的建立和维护都较为复杂,但是由于一次查询可以得到包含关键字的所有文档,所以效率较高。在全文检索中,检索的快速响应是最为关键的性能,而索引建立在后台进行,不会影响整个搜索引擎的效率。
Solr/Lucene采用的是一种反向索引,所谓反向索引:就是从关键字到文档的映射过程,保存这种映射这种信息的索引称为反向索引。
字段串列表和文档编号链表两者构成了一个字典。现在想搜索”lucene”,那么索引直接告诉我们,包含有”lucene”的文档有:2,3,10,35,92,而无需在整个文档库中逐个查找。如果是想搜既包含”lucene”又包含”solr”的文档,那么与之对应的两个倒排表去交集即可获得:3、10、35、92。
相关度排序是指通过搜索引擎服务器进行检索后返回结果的排序,检索结果的排序直接反映出相关文档信息与反映出相关文档信息与查询条件的相关程度。Solr搜索引擎对查询语句与文档之间的相关性进行打分,分数高的搜索结果相关性好,就应该排在前面。
充分利用OpenStack Swift以及Solr两种分布式架构的优越性能,Swift实现了各业务系统海量非结构化数据的集中存储,Solr搜索引擎使得用户可以在统一的资源库中并行索引和搜索文件。提高了文件索引、搜索时的效率,故障转移、数据副本等机制使得平台具有良好的可靠性,且平台扩展性良好,只需简单配置就即可加入新的服务器节点。
实施例2:
基于同一发明构思的本发明还提供了一种业务系统非结构化数据全文检索系统,包括:
更新模块,用于定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新;
请求获取模块,用于获取查询请求;
查询模块,用于将查询请求代入更新后的预先构建的分布式非结构化数据检索平台,输出检索结果;
其中,所述分布式非结构化数据检索平台是在服务器中部署OpenStack的Swift和Solr软件框架构建的。
可选的,还包括平台构建模块,用于构建分布式非结构化数据检索平台。
可选的,平台构建模块包括:
部署子模块,用于在服务器上部署OpenStack的Swift软件框架和Solr软件框架;
存储子模块,用于将企业的非结构化数据导入所述Swift软件框架内进行存储;
索引子模块,用于通过Solr软件框架对存储在所述Swift软件框架内的非结构化数据并行创建索引,并将所述索引存储在所述Solr软件框架的索引库中;
构建组合子模块,用于由部署在服务器中的Swift和Solr软件框架结合企业的非结构化数据构建分布式非结构化数据检索平台。
可选的,所述部署子模块具体用于:
在PC服务器群上安装Linux操作系统,在Linux环境下并行部署OpenStack Swift以及Solr开发框架。
可选的,所述存储子模块具体用于:
OpenStack的Swift采用账户/容器/对象三层逻辑结构,将企业非结构化数据进行存储,其中非结构化数据中的元数据和数据作为对象,将封装的一组元数据和所述数据作为容器,将账户作为顶层的隔离机制;
Swift通过ProxyServer向外提供基于HTTP的REST服务接口,根据环的信息查找服务地址并转发查询请求至相应的账户、容器或者对象。
可选的,所述索引子模块具体用于:所述Solr软件框架封装了Lucene定义文档对象、描述文档属性、分析处理文档、索引生成和索引存储。
可选的,所述索引子模块中的所述Solr软件框架封装了Lucene索引生成具体实现步骤包括:
从关键字到文档的映射信息的反向索引,根据查询请求通过反向索引查找到所述查询请求所在的文档编号。
实施例3:
基于同一种发明构思,本发明还提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor、DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能,以实现上述实施例中一种业务系统非结构化数据全文检索方法的步骤。
实施例4:
基于同一种发明构思,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中一种业务系统非结构化数据全文检索方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在发明待批的本发明的权利要求范围之内。
Claims (10)
1.一种业务系统非结构化数据全文检索方法,其特征在于,包括:
定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新;
获取查询请求;
将查询请求代入更新后的预先构建的分布式非结构化数据检索平台,输出检索结果;
其中,所述分布式非结构化数据检索平台是在服务器中部署OpenStack的Swift和Solr软件框架构建的。
2.如权利要求1所述的方法,其特征在于,所述分布式非结构化数据检索平台的构建包括:
在服务器上部署OpenStack的Swift软件框架和Solr软件框架;
将企业的非结构化数据导入所述Swift软件框架内进行存储;
通过Solr软件框架对存储在所述Swift软件框架内的非结构化数据并行创建索引,并将所述索引存储在所述Solr软件框架的索引库中;
由部署在服务器中的Swift和Solr软件框架结合企业的非结构化数据构建分布式非结构化数据检索平台。
3.如权利要求2所述的方法,其特征在于,所述在服务器上部署OpenStack的Swift软件框架和Solr软件框架,包括:
在PC服务器群上安装Linux操作系统,在Linux环境下并行部署OpenStack Swift以及Solr开发框架。
4.如权利要求2所述的方法,其特征在于,所述将企业内的非结构化数据导入所述Swift软件框架内进行存储,包括:
OpenStack的Swift采用账户/容器/对象三层逻辑结构,将企业非结构化数据进行存储,其中非结构化数据中的元数据和数据作为对象,将封装的一组元数据和所述数据作为容器,将账户作为顶层的隔离机制;
Swift通过ProxyServer向外提供基于HTTP的REST服务接口,根据环的信息查找服务地址并转发查询请求至相应的账户、容器或者对象。
5.如权利要求2所述的方法,其特征在于,所述通过Solr软件框架对存储在所述Swift软件框架内的非结构化数据并行创建索引,包括:
所述Solr软件框架封装了Lucene定义文档对象、描述文档属性、分析处理文档、索引生成和索引存储。
6.如权利要求5所述的方法,其特征在于,所述Solr软件框架封装了Lucene索引生成包括:
从关键字到文档的映射信息的反向索引,根据查询请求通过反向索引查找到所述查询请求所在的文档编号。
7.一种业务系统非结构化数据全文检索系统,其特征在于,包括:
更新模块,用于定期采集企业的非结构化数据,并将所述企业的非结构化数据导入预先构建的分布式非结构化数据检索平台进行更新;
请求获取模块,用于获取查询请求;
查询模块,用于将查询请求代入更新后的预先构建的分布式非结构化数据检索平台,输出检索结果;
其中,所述分布式非结构化数据检索平台是在服务器中部署OpenStack的Swift和Solr软件框架构建的。
8.如权利要求7所述的系统,其特征在于,还包括平台构建模块,用于构建分布式非结构化数据检索平台。
9.一种计算机设备,其特征在于,包括:一个或多个处理器;
所述处理器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,实现如权利要求1至6中任一项所述的一种业务系统非结构化数据全文检索。
10.一种计算机可读存储介质,其特征在于,其上存有计算机程序,所述计算机程序被执行时,实现如权利要求1至6中任一项所述的一种业务系统非结构化数据全文检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311676570.8A CN118093773A (zh) | 2023-12-08 | 2023-12-08 | 一种业务系统非结构化数据全文检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311676570.8A CN118093773A (zh) | 2023-12-08 | 2023-12-08 | 一种业务系统非结构化数据全文检索方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118093773A true CN118093773A (zh) | 2024-05-28 |
Family
ID=91148346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311676570.8A Pending CN118093773A (zh) | 2023-12-08 | 2023-12-08 | 一种业务系统非结构化数据全文检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118093773A (zh) |
-
2023
- 2023-12-08 CN CN202311676570.8A patent/CN118093773A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669510B2 (en) | Parallel processing of disjoint change streams into a single stream | |
US11544623B2 (en) | Consistent filtering of machine learning data | |
US10078682B2 (en) | Differentiated secondary index maintenance in log structured NoSQL data stores | |
US20180276304A1 (en) | Advanced computer implementation for crawling and/or detecting related electronically catalogued data using improved metadata processing | |
US8620923B1 (en) | System and method for storing meta-data indexes within a computer storage system | |
CN101819577B (zh) | 维护文件系统客户端目录高速缓存的方法、系统和装置 | |
US9495457B2 (en) | Batch crawl and fast crawl clusters for question and answer search engine | |
US20150186527A1 (en) | Question type detection for indexing in an offline system of question and answer search engine | |
US9361384B2 (en) | Image extraction service for question and answer search engine | |
WO2010048531A1 (en) | System and methods for metadata management in content addressable storage | |
US20150186528A1 (en) | Request type detection for answer mode selection in an online system of a question and answer search engine | |
US20150186514A1 (en) | Central aggregator architechture for question and answer search engine | |
US20140032703A1 (en) | System and method for an expandable computer storage system | |
JP2013073557A (ja) | 情報検索システム、検索サーバ及びプログラム | |
Rosenberg et al. | Leveraging elasticsearch to improve data discoverability in science gateways | |
US8549007B1 (en) | System and method for indexing meta-data in a computer storage system | |
Sundarakumar et al. | A comprehensive study and review of tuning the performance on database scalability in big data analytics | |
US9766949B2 (en) | System and method for locking exclusive access to a divided resource | |
CN116501947B (zh) | 语义搜索云平台的构建方法、系统及设备和存储介质 | |
CN108256019A (zh) | 数据库主键生成方法、装置、设备及其存储介质 | |
White | Hadoop | |
CN118093773A (zh) | 一种业务系统非结构化数据全文检索方法及系统 | |
Dobos et al. | A comparative evaluation of NoSQL database systems | |
Calvaresi | Building a Distributed Search System with Apache Hadoop and Lucene | |
Zhou | Assessment of Multiple Map Reduce Strategies for Fast Analytics of Small Files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |