CN110362650A - 精准分词实现文件全文搜索的检索方法 - Google Patents

精准分词实现文件全文搜索的检索方法 Download PDF

Info

Publication number
CN110362650A
CN110362650A CN201810310274.9A CN201810310274A CN110362650A CN 110362650 A CN110362650 A CN 110362650A CN 201810310274 A CN201810310274 A CN 201810310274A CN 110362650 A CN110362650 A CN 110362650A
Authority
CN
China
Prior art keywords
regulation engine
text
search
inverted index
precisely
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
Application number
CN201810310274.9A
Other languages
English (en)
Inventor
李海军
何洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Enterprise Cloud Polytron Technologies Inc
Original Assignee
Shenzhen Enterprise Cloud Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Enterprise Cloud Polytron Technologies Inc filed Critical Shenzhen Enterprise Cloud Polytron Technologies Inc
Priority to CN201810310274.9A priority Critical patent/CN110362650A/zh
Publication of CN110362650A publication Critical patent/CN110362650A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种精准分词实现文件全文搜索的检索方法,服务器接收客户端上传的待检索的字符串,并且根据规则引擎将待检索的字符串满足规则引擎的字符串生成至少一个倒排索引数据,将所述至少一个倒排索引数据建立索引并且并且进行检索。本发明能够将磁盘空间存储数据量减少N倍,极大的节省了磁盘存储空间,由于减少磁盘存储、服务器数量、人力投入,故极大的减少企业成本;由于存储及检索都使用同一规则引擎,由此实现精准检索,提高了检索效率。

Description

精准分词实现文件全文搜索的检索方法
技术领域
本发明属于计算机技术领域,具体涉及一种精准分词实现文件全文搜索的检索方法。
背景技术
在使用云盘存储企业文件时,有时不但要根据文件名查找到具体文件的文件及存储的路径,还需要根据文件中存储的内容查找到具体的文件及存储的路径;但是目前的Elasticsearch的ngram算法并不支持一些特殊符号,如-、@、+、-、/等,而采用ngram分词算法,生成的索引数据量巨大。
发明内容
有鉴于此,本发明的主要目的在于提供一种精准分词实现文件全文搜索的检索方法。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提高一种精准分词实现文件全文搜索的检索方法,该方法为:服务器接收客户端上传的待检索的字符串,并且根据规则引擎将待检索的字符串满足规则引擎的字符串生成至少一个倒排索引数据,将所述至少一个倒排索引数据建立索引并且并且进行检索。
上述方案中,所述规则引擎至少包括支持的英文字符、支持的数字、支持的特殊符号、最小搜索字符长度中至少一种规则。
上述方案中,该方法还包括:所述服务器读取客户端上传的文档,并且将文本内容根据规则引擎进行正规化,之后,将文档中的文本内容切分为至少一个独立的单词,并且将所述至少一个独立的单词构建成为倒排索引。
上述方案中,该方法还包括:所述服务器根据至少一个倒排索引数据在倒排索引中检索匹配的文档。
上述方案中,该方法还包括:对所述规则引擎中的每一种规则配置优先级,当根据所述规则引擎将待检索的字符串满足规则引擎的字符串生成至少一个倒排索引数据时,将所述待检索的字符串按照规则引擎中规则的优先级高低依次进行对比生成至少一个倒排索引数据。
与现有技术相比,本发明能够将磁盘空间存储数据量减少N倍,极大的节省了磁盘存储空间,由于减少磁盘存储、服务器数量、人力投入,故极大的减少企业成本;由于存储及检索都使用同一规则引擎,由此实现精准检索,提高了检索效率。
附图说明
图1为本发明实施例提高一种精准分词实现文件全文搜索的检索方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提高一种精准分词实现文件全文搜索的检索方法,如图1所示,该方法通过以下步骤实现:
步骤101:所述服务器读取客户端上传的文档,并且将文本内容根据规则引擎进行正规化,之后,将文档中的文本内容切分为至少一个独立的单词,并且将所述至少一个独立的单词构建成为倒排索引。
具体地,所述规则引擎至少包括支持的英文字符、支持的数字、支持的特殊符号、最小搜索字符长度中至少一种规则。
例如,a支持所有英文字符,包含大小写;b支持所有数字1--9排列组合;c支持特殊符号“-”;d最小搜索字符长度为4。
对所述规则引擎中的每一种规则配置优先级,
将文本内容按照规则引擎的规则进行正规化,规则引擎可配置规则的优先级与规则的执行逻辑关系,优先级代表执行顺序,逻辑关系代表同一优先级规则的逻辑关系,如逻辑关系and,代表处于同一优先级a、b、c三条规则必须同时满足,逻辑关系or代表a、b、c三条规则满足其中一条即可,按照规则引擎配置每条规则优先级与逻辑关系执行规则校验,优先级根据业务需求进行规则设定,优先级代表了每条规则执行校验的顺序,优先级较高的规则优先执行校验,如,优先级分为1、2、3、4、5五种级别,设定为1优先级的规则优先执行。譬如以上a、b、c、d四条规则根据业务需求设定优先级对应关系为c:1,a:1,b:1,d:2,a、b、c三条规则的逻辑关系为and,那么文本内容必须同时满足a、b、c三条规则,不满足的字符将舍弃,不会拆分成有效的词元,优先级为1的执行校验后,执行优先级为2的d条规则校验。最终会将满足所有配置规则的词元进行存储。
例如,字符串WL2810D18-4/TR共14个字符,会拆分出W、L、2、8、1、0、D、-、T、R这10个独立的词元。
步骤102:服务器接收客户端上传的待检索的字符串,并且根据规则引擎将待检索的字符串满足规则引擎的字符串生成至少一个倒排索引数据;
具体地,当根据所述规则引擎将待检索的字符串满足规则引擎的字符串生成至少一个倒排索引数据时,将所述待检索的字符串按照规则引擎中字符串的优先级高低依次进行对比生成至少一个倒排索引数据。
所述服务器根据客户端选择的规则引擎中的规则进行分析,例如,客户端选择上述a、b、c三条规则,针对字符串WL2810D18-4/TR进行规则校验,WL2810D18-4/TR中,字符串WL2810D18-4符合如上配置的前三条规则,但/TR并不符合配置的业务规则,因配置的规则中并没有包含“/”符号,此时WL2810D18-4/TR字符串拆分为WL2810D18-4、TR两个独立的字符串进行搜索,包含“/”的搜索如4/T、D18-4/T则不能进行搜索。
a、b、c三条规则将WL2810D18-4/TR拆分为WL2810D18-4、TR两个独立的字符串,此时由于TR并不满足第四条规则,搜索长度至少4个字符,这样WL2810D18-4/TR被拆分出WL2810D18一个字符用于搜索,WL2810D18中任何连续4个字符及以上如WL28、10D1、L2810D1等字符搜索都应搜索到包含WL2810D18-4/TR字符串对应的文档。
所述字符串需要需符合如下字符串的组合排列:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_()+/.@
步骤103:将所述至少一个倒排索引数据建立索引并且并且进行检索。
具体地,所述服务器根据至少一个倒排索引数据在倒排索引中检索匹配的文档。
例如,字符串ADB1-*0^,存储生成的倒排索引数据为ADB1、DB1-、下个字符应该是B1-*,由于*字符并不在如上的规则中,所以此条目的索引不会建立,因索引没有建立,所以检索也检索不到。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (5)

1.一种精准分词实现文件全文搜索的检索方法,其特征在于,该方法为:服务器接收客户端上传的待检索的字符串,并且根据规则引擎将待检索的字符串满足规则引擎的字符串生成至少一个倒排索引数据,将所述至少一个倒排索引数据建立索引并且并且进行检索。
2.根据权利要求1所述的一种精准分词实现文件全文搜索的检索方法,其特征在于,所述规则引擎至少包括支持的英文字符、支持的数字、支持的特殊符号、最小搜索字符长度中至少一种规则。
3.根据权利要求1或2所述的一种精准分词实现文件全文搜索的检索方法,其特征在于,该方法还包括:所述服务器读取客户端上传的文档,并且将文本内容根据规则引擎进行正规化,之后,将文档中的文本内容切分为至少一个独立的单词,并且将所述至少一个独立的单词构建成为倒排索引。
4.根据权利要求3所述的一种精准分词实现文件全文搜索的检索方法,其特征在于,该方法还包括:所述服务器根据至少一个倒排索引数据在倒排索引中检索匹配的文档。
5.根据权利要求4所述的一种精准分词实现文件全文搜索的检索方法,其特征在于,该方法还包括:对所述规则引擎中的每一种规则配置优先级,当根据所述规则引擎将待检索的字符串满足规则引擎的字符串生成至少一个倒排索引数据时,将所述待检索的字符串按照规则引擎中规则的优先级高低依次进行对比生成至少一个倒排索引数据。
CN201810310274.9A 2018-04-09 2018-04-09 精准分词实现文件全文搜索的检索方法 Pending CN110362650A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810310274.9A CN110362650A (zh) 2018-04-09 2018-04-09 精准分词实现文件全文搜索的检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810310274.9A CN110362650A (zh) 2018-04-09 2018-04-09 精准分词实现文件全文搜索的检索方法

Publications (1)

Publication Number Publication Date
CN110362650A true CN110362650A (zh) 2019-10-22

Family

ID=68214055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810310274.9A Pending CN110362650A (zh) 2018-04-09 2018-04-09 精准分词实现文件全文搜索的检索方法

Country Status (1)

Country Link
CN (1) CN110362650A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071420A (zh) * 2007-06-22 2007-11-14 腾讯科技(深圳)有限公司 一种切分索引分词的方法及系统
US20100161655A1 (en) * 2008-12-22 2010-06-24 Electronics And Telecommunications Research Institute System for string matching based on segmentation method and method thereof
CN103064847A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 索引装置、索引方法、检索装置、检索方法和检索系统
CN103064844A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 索引装置、索引方法、检索装置、检索方法和检索系统
CN104573055A (zh) * 2015-01-21 2015-04-29 南京烽火星空通信发展有限公司 一种网络账号快速检索的分词方法
CN105488197A (zh) * 2015-12-07 2016-04-13 腾讯科技(深圳)有限公司 垂直搜索中按域检索方法、新增文档处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071420A (zh) * 2007-06-22 2007-11-14 腾讯科技(深圳)有限公司 一种切分索引分词的方法及系统
US20100161655A1 (en) * 2008-12-22 2010-06-24 Electronics And Telecommunications Research Institute System for string matching based on segmentation method and method thereof
CN103064847A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 索引装置、索引方法、检索装置、检索方法和检索系统
CN103064844A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 索引装置、索引方法、检索装置、检索方法和检索系统
CN104573055A (zh) * 2015-01-21 2015-04-29 南京烽火星空通信发展有限公司 一种网络账号快速检索的分词方法
CN105488197A (zh) * 2015-12-07 2016-04-13 腾讯科技(深圳)有限公司 垂直搜索中按域检索方法、新增文档处理方法和装置

Similar Documents

Publication Publication Date Title
US11194780B2 (en) Early exit from table scans of loosely ordered and/or grouped relations using nearly ordered maps
JP5492187B2 (ja) 編集距離および文書情報を使用する検索結果順位付け
US20150363404A1 (en) Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices
US9195738B2 (en) Tokenization platform
CN102768681B (zh) 一种用于搜索输入的推荐系统及方法
CN107862070B (zh) 基于文本聚类的线上课堂讨论短文本即时分组方法及系统
JP4698738B2 (ja) 複数セグメント文字列の検索
US10606816B2 (en) Compression-aware partial sort of streaming columnar data
US9129010B2 (en) System and method of partitioned lexicographic search
CN103514236A (zh) 检索应用中基于拼音的检索条件纠错提示处理方法
WO2021043088A1 (zh) 文件查询方法、装置、计算机设备及存储介质
CN104035993A (zh) 电子书的存储检索方法、电子书管理系统、阅读系统
CN104199954A (zh) 一种用于搜索输入的推荐系统及方法
CN107168966B (zh) 一种搜索引擎索引构建方法及装置
JP4237813B2 (ja) 構造化文書管理システム
US9619458B2 (en) System and method for phrase matching with arbitrary text
CN110362650A (zh) 精准分词实现文件全文搜索的检索方法
CN112639786A (zh) 智能地标
CN113420219A (zh) 用于查询信息纠错的方法、装置、电子设备及可读存储介质
US20190050744A1 (en) Using trie structures to efficiently identify similarities among topical subjects
US12026157B2 (en) Narrowing synonym dictionary results using document attributes
US20220382753A1 (en) Narrowing synonym dictionary results using document attributes
JP4304226B2 (ja) 構造化文書管理システム、構造化文書管理方法及びプログラム
US11726973B2 (en) Indexing hems in a database environment
JP5575075B2 (ja) 代表的文書選択装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191022