海量文件检索方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:19544342 阅读:18 留言:0更新日期:2018-11-24 20:42
本申请公开了一种海量文件检索方法、装置、计算机设备及存储介质。该方法包括:获取待建立索引的初始文本,判断初始文本是中文文本,或是英文文本;若初始文本是英文文本,对其进行分词得到英文分词结果,根据英文分词结果建立第一索引,将且存储在分布式内存网格中;若初始文本是中文文本,对其进行分词得到中文分词结果,根据中文分词结果建立第二索引,将其存储在分布式内存网格中;获取客户端所发送的查询语句,将查询语句进行分词得到查询分词;若第一索引或第二索引中存在与查询分词对应的索引项,获取索引项对应的查询结果并发送至客户端。该方法通过分布式内存网格中存储索引,即使Lucene文件索引库过大时,也能快速的进行检索。

Massive document retrieval methods, devices, computer equipment and storage media

This application discloses a massive document retrieval method, device, computer equipment and storage medium. The method includes: acquiring the initial text to be indexed and judging whether the original text is Chinese or English; if the initial text is English, segmentation results are obtained, and the first index is established according to the results of English segmentation, and stored in the distributed memory grid; if the initial text is English, the first index will be stored in the distributed memory grid. Chinese text is segmented to get the result of Chinese word segmentation. According to the result of Chinese word segmentation, the second index is established and stored in distributed memory grid. The query statement sent by client is acquired, and the query word is segmented to get the query word segmentation. If there is a corresponding query word segmentation in the first index or the second index. The index item of the index item gets the query result corresponding to the index item and sends it to the client. This method stores the index in distributed memory grid, and can quickly retrieve even if the Lucene file index library is too large.

【技术实现步骤摘要】
海量文件检索方法、装置、计算机设备及存储介质
本申请涉及文本检索
,尤其涉及一种海量文件检索方法、装置、计算机设备及存储介质。
技术介绍
目前中文海量全文检索的方法,用的最多的是基于Lucene内核(Lucene是一个开放源代码的全文检索引擎工具包)的Elasticsearch产品(ElasticSearch是一个基于Lucene的搜索服务器),所以Lucene固有的问题,同样存在于Elasticsearch中。当基于Lucene内核的Elasticsearch产品中,Lucene文件索引库过大时,会导致检索效率低下。
技术实现思路
本申请提供了一种海量文件检索方法、装置、计算机设备及存储介质,旨在解决现有技术中基于Lucene内核的中文全文检索,在Lucene文件索引库特别大的时候,导致查询效率低下的问题。第一方面,本申请提供了一种海量文件检索方法,其包括:获取待建立索引的初始文本,判断初始文本是中文文本,或者是英文文本;若初始文本是英文文本,对英文文本进行分词得到英文分词结果,根据英文分词结果建立第一索引,将第一索引发送至预选建立的分布式内存网格中进行存储;若初始文本是中文文本,对中文文本进行分词得到中文分词结果,根据中文分词结果建立第二索引,将第二索引发送至所述分布式内存网格中进行存储;获取客户端所发送的查询语句,将查询语句进行分词得到查询分词;若第一索引或第二索引中存在与查询分词对应的索引项,获取索引项对应的查询结果并发送至客户端。第二方面,本申请提供了一种海量文件检索装置,其包括:初始文本类型判断单元,用于获取待建立索引的初始文本,判断初始文本是中文文本,或者是英文文本;第一索引获取单元,用于若初始文本是英文文本,对英文文本进行分词得到英文分词结果,根据英文分词结果建立第一索引,将第一索引发送至预选建立的分布式内存网格中进行存储;第二索引获取单元,用于若初始文本是中文文本,对中文文本进行分词得到中文分词结果,根据中文分词结果建立第二索引,将第二索引发送至所述分布式内存网格中进行存储;查询分词单元,用于获取客户端所发送的查询语句,将查询语句进行分词得到查询分词;查询结果发送单元,用于若第一索引或第二索引中存在与查询分词对应的索引项,获取索引项对应的查询结果并发送至客户端。第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的海量文件检索方法。第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的海量文件检索方法。本申请提供一种海量文件检索方法、装置、计算机设备及存储介质。该方法通过获取待建立索引的初始文本,判断初始文本是中文文本,或者是英文文本;若初始文本是英文文本,对英文文本进行分词得到英文分词结果,根据英文分词结果建立第一索引,将第一索引发送至预选建立的分布式内存网格中进行存储;若初始文本是中文文本,对中文文本进行分词得到中文分词结果,根据中文分词结果建立第二索引,将第二索引发送至所述分布式内存网格中进行存储;获取客户端所发送的查询语句,将查询语句进行分词得到查询分词;若第一索引或第二索引中存在与查询分词对应的索引项,获取索引项对应的查询结果并发送至客户端。该方法通过分布式内存网格中存储索引,即使Lucene文件索引库过大时,也能快速的进行检索。附图说明为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种海量文件检索方法的示意流程图;图2是本申请实施例提供的一种海量文件检索方法的子流程示意图;图3为本申请实施例提供的一种海量文件检索方法的另一子流程示意图;图4为本申请实施例提供的一种海量文件检索方法的另一子流程示意图;图5为本申请实施例提供的一种海量文件检索方法的另一子流程示意图;图6为本申请实施例提供的一种海量文件检索装置的示意性框图;图7为本申请实施例提供的一种海量文件检索装置的子单元示意性框图;图8为本申请实施例提供的一种海量文件检索装置的另一子单元示意性框图;图9为本申请实施例提供的一种海量文件检索装置的另一子单元示意性框图;图10为本申请实施例提供的一种海量文件检索装置的另一子单元示意性框图;图11为本申请实施例提供的一种计算机设备的示意性框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。请参阅图1,图1是本申请实施例提供的一种海量文件检索方法的示意流程图。该方法应用于服务器中。如图1所示,该方法包括步骤S101~S105。S101、获取待建立索引的初始文本,判断初始文本是中文文本,或者是英文文本。在本实施例中,将待建立索引的初始文本输入Lucene内核的全文索引引擎时,需先判断其是中文文本,或是英文文本。其中初始文本中中文字符的占比超过90%即可视为中文文本,初始文本中英文字符的占比超过90%即可视为英文文本。通过将初始文本进行分类,能分别对中文文件创建索引,及对英文文本创建索引,能确保索引按文本类别精准分类,提高了索引建立的效率。S102、若初始文本是英文文本,对英文文本进行分词得到英文分词结果,根据英文分词结果建立第一索引,将第一索引发送至预选建立的分布式内存网格中进行存储。在本实施例中,对于英文来说,语句中单词之间是天然通过空格分开的,故可以通过单个字符串(单个字符串视为一个单词)作为索引单元也能实现精准查询。在一实施例中,如图2所示,步骤S102包括:S1021、根据英文分词结果创建英文索引字典,所述英文索引字典中包括的每一个单词均对应英文文本的文档编号;S1022、将英文索引字典中包括的单词按照字典序进行排序;S1023、将相同的单词进行合并,并将相同的单词对应的文档编号进行归集,得到第一索引。在本实施例中,索引在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集本文档来自技高网...

【技术保护点】
1.一种海量文件检索方法,其特征在于,包括:获取待建立索引的初始文本,判断初始文本是中文文本,或者是英文文本;若初始文本是英文文本,对英文文本进行分词得到英文分词结果,根据英文分词结果建立第一索引,将第一索引发送至预选建立的分布式内存网格中进行存储;若初始文本是中文文本,对中文文本进行分词得到中文分词结果,根据中文分词结果建立第二索引,将第二索引发送至所述分布式内存网格中进行存储;获取客户端所发送的查询语句,将查询语句进行分词得到查询分词;若第一索引或第二索引中存在与查询分词对应的索引项,获取索引项对应的查询结果并发送至客户端。

【技术特征摘要】
1.一种海量文件检索方法,其特征在于,包括:获取待建立索引的初始文本,判断初始文本是中文文本,或者是英文文本;若初始文本是英文文本,对英文文本进行分词得到英文分词结果,根据英文分词结果建立第一索引,将第一索引发送至预选建立的分布式内存网格中进行存储;若初始文本是中文文本,对中文文本进行分词得到中文分词结果,根据中文分词结果建立第二索引,将第二索引发送至所述分布式内存网格中进行存储;获取客户端所发送的查询语句,将查询语句进行分词得到查询分词;若第一索引或第二索引中存在与查询分词对应的索引项,获取索引项对应的查询结果并发送至客户端。2.根据权利要求1所述的海量文件检索方法,其特征在于,所述根据英文分词结果建立第一索引,包括:根据英文分词结果创建英文索引字典,所述英文索引字典中包括的每一个单词均对应英文文本的文档编号;将英文索引字典中包括的单词按照字典序进行排序;将相同的单词进行合并,并将相同的单词对应的文档编号进行归集,得到第一索引。3.根据权利要求1所述的海量文件检索方法,其特征在于,所述对中文文本进行分词得到中文分词结果,包括:按从左至右的顺序从中文文本中取出候选词;在预先存储的词典中查询与每一候选词对应的概率值,并记录每一候选词的左邻词;计算获取每一候选词的累积概率,及每一候选词的多个左邻词的累积概率,若每一候选词的多个左邻词中存在累积概率为多个左邻词的累积概率中最大值的左邻词,将累积概率中最大值的左邻词作为与候选词对应的最佳左邻词;以中文文本的终点词为起点,从右至左依次输出与每一候选词对应的最佳左邻词,得到与中文文本所对应中文分词结果。4.根据权利要求1所述的海量文件检索方法,其特征在于,所述根据中文分词结果建立第二索引,包括:根据中文分词结果创建中文索引字典,所述中文索引字典中包括的每一个词语均对应中文文本的文档编号;将中文索引字典中包括的词语按照字典序进行排序;将相同的词语进行合并,并将相同的词语对应的文档编号进行归集,得到第二索引。5.根据权利要求1所述的海量文件检索方法,其特征在于,所述获取索引项对应的查询结果并发送至客户端,包括:获取查询结果中查询分词对应的词语频次;根据查询分词的词...

【专利技术属性】
技术研发人员:陈飞
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1