CN110019638A - 一种基于冷热词分离的索引方法 - Google Patents
一种基于冷热词分离的索引方法 Download PDFInfo
- Publication number
- CN110019638A CN110019638A CN201710579852.4A CN201710579852A CN110019638A CN 110019638 A CN110019638 A CN 110019638A CN 201710579852 A CN201710579852 A CN 201710579852A CN 110019638 A CN110019638 A CN 110019638A
- Authority
- CN
- China
- Prior art keywords
- word
- cold
- document
- hot word
- inverted index
- 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
- 238000000926 separation method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 238000000605 extraction Methods 0.000 abstract description 2
- 239000000203 mixture Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/328—Management therefor
-
- 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
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)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是一种基于海量数据的冷热词提取和分离方法以及其倒排索引的存储策略和检索技术,具体是指一种基于冷热词分离的索引方法,包括冷热词分离的索引创建方法和存储策略,包括:读取热词的正则表达式,用于文档内容里的冷热词提取;读取文档内容,该文档的内容用于创建倒排索引和检索;给文档分配唯一的id标识,该id分别存储在冷热词的倒排索引里;对文档的内容进行分词,以实现词到文档id的映射表;对切分的词进行正则表达式匹配,检查是否命中,如果命中,则将该词加入热词的倒排索引H中,如果未命中,则将该词加入冷词倒排索引C中。
Description
技术领域
本发明是一种基于海量数据的冷热词提取和分离方法以及其倒排索引的存储策略和检索技术,具体是指一种基于冷热词分离的索引方法。
背景技术
目前对于海量数据的检索,大多采用倒排索引的方法进行检索。由于海量数据的倒排索引过于庞大(TB级以上),一般都是将其存储到容量较大且较便宜的低速SATA或SAS盘上,而不会将其存储到容量较小且较昂贵的高速SSD盘上。
对于大容量的海量数据索引,如果将其全部放在SATA或SAS盘上,那么检索数据的速度将受限于机械硬盘的读取性能。相对于高速的SSD盘,SATA盘或SAS的读取性能(IOPS)相对较差。如果要将大容量的海量索引全部存储在较昂贵的SSD盘上,虽然其检索数据的速度有较多幅度的提升,但这较为昂贵的价格让人难以承受。
发明内容
本发明的目的在于,提供一种基于冷热词分离的索引方法可通过文本匹配规则或方法,识别出冷词和热词,然后再对热词和冷词分别做存储和建索引处理。
发明解决其技术问题所采用的技术方案是:一种基于冷热词分离的索引方法,包括冷热词分离的索引创建方法和存储策略,包括如下步骤:
步骤一、读取热词的正则表达式,用于文档内容里的冷热词提取;
步骤二、初始化文档id为0,给每篇文档一个唯一的编号;
步骤三、读取文档内容,并为文档赋上当前的id值,该文档的内容用于创建倒排索引和检索;
步骤四、对文档的内容进行分词,分词是倒排索引必须做的重要步骤,以实现词到文档id的映射表,也即倒排表;
步骤五、对刚刚切分的词进行正则表达式匹配,并标示匹配结果;
步骤六、检查分词的匹配结果。如果匹配,则将该词加入热词的倒排索引H中,如果不匹配,则将该词加入冷词倒排索引C中。倒排索引H和倒排索引C是2个独立的倒排索引;
步骤七、判断是否还有文档,如果有则将文档id增1,并执行步骤三,否则执行步骤八;
步骤八:将热词数据的倒排索引H存储到高速的SSD盘上。通过正则表达式提取的热词数据的倒排索引大小不会太大,存储在高速的SSD盘上,可以提高热词数据的检索速度;
步骤九:将冷词的倒排索引C存储在相对低速的SATA盘或SAS盘上。
作为优选,还包括冷热词分离的倒排索引检索方法,其具体操作步骤描述如下:
步骤一:读取热词的正则表达式,该正则表达式和创建索引时的正则表达式一致,用于检索分离出查询串中的冷热词;
步骤二:读取查询关键词;
步骤三:对查询串进行分词,分词是为了在倒排索引中查找词的倒排表;
步骤四:对刚刚切分的词进行正则表达式匹配,检查是否命中,如果命中,则表明是热词,需要从高速的SSD盘上读取该词的倒排表,如果未命中,则表明是冷词,需要从低速的SATA盘或SAS盘上读取该词的倒排表;
步骤五:判断查询串是否分词完毕,如果是,则转步骤6,否则转3;
步骤六:对切分后的每个词以在查询串中的逻辑关系(AND,OR),对各个倒排表进行相应的交并集运算;
步骤七:输出运算结果,也就是该查询串的检索结果,是一批文档id集或空集。
本发明的有益效果是:通过文本匹配规则或方法(不限于正则表达式,关键词匹配等方法),识别出冷词和热词,然后再对热词和冷词分别做存储和建索引处理。热词的数据量远远小于冷词的数据量,故将数据量相对较少的热词的索引存储到高速的SSD盘上,而将数据量相对较多的冷词的倒排索引存储到相对低速的SATA盘或SAS盘上。通过这种冷热词分离的方法来提高热词数据的检索速度,同时降低SSD盘的使用成本,达到一种性能和成本上的平衡。
附图说明
图1为本发明的基于冷热词分离的索引方法的冷热词的索引创建和存储流程图。
图2为本发明的基于冷热词分离的索引方法的冷热词的索引检索流程图。
具体实施方式
现在结合附图对发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明发明的基本结构,因此其仅显示与发明有关的构成。
一种基于冷热词分离的索引方法,其特征在于:包括热词的种类识别。其主要思想是分析领域内大量的查询串的组成和特征,获取常用查询串(热词)的种类。例如某领域内,通过观察大量的查询串,发现其中的热词种类为手机号码和固定电话号码。
一种基于冷热词分离的索引方法,其特征在于:包括热词的提取方法。其主要思想是为热词提供合适的正则表达式或匹配规则。例如,提取手机号码和固定电话号码的正则表达式如下表格所示:
匹配手机号码的正则表达式为表格1所示:
表格1:匹配手机号码的正则表达式
匹配固定电话号码的正则表达式为表格2所示:
表格2:匹配固定电话号码的正则表达式
一种基于冷热词分离的索引方法,包括冷热词分离的索引创建方法和存储策略。具体操作步骤描述如下:
步骤一:读取热词的正则表达式,用于文档内容里的冷热词提取;
步骤二:初始化文档id为0,给每篇文档一个唯一的编号;(id分别存储在冷热词的倒排索引里,用于检索时,方便来自不同倒排索引的多个词的倒排表做交并集运算)
步骤三:读取文档内容,并为文档赋上当前的id值,该文档的内容用于创建倒排索引和检索;
步骤四:对文档的内容进行分词,分词是倒排索引必须做的重要步骤,以实现词到文档id的映射表,也即倒排表;
步骤五:对刚刚切分的词进行正则表达式匹配,并标示匹配结果;
步骤六:检查分词的匹配结果。如果匹配,则将该词加入热词的倒排索引H中,如果不匹配,则将该词加入冷词倒排索引C中。倒排索引H和倒排索引C是2个独立的倒排索引;
步骤七:判断是否还有文档,如果有则将文档id增1,并执行步骤三,否则执行步骤八;
步骤八:将热词数据的倒排索引H存储到高速的SSD盘上。通过正则表达式提取的热词数据的倒排索引大小不会太大,存储在高速的SSD盘上,可以提高热词数据的检索速度;
步骤九:将冷词的倒排索引C存储在相对低速的SATA盘或SAS盘上。
本专利的冷热词识别和分离方法,能够将数据量相对较少的热词数据的倒排索引放入高速的SSD盘上,而将数据量相对较多的冷词数据的倒排索引放入SATA盘或SAS盘上。相对于将全部数据(不分冷热词)的放入SSD盘上,本专利提供的方法,降低了硬件的使用成本;相对于将全部数据放入SATA盘或SAS盘上,本专利提供的方法,提高了热词数据的检索速度。
本实施样例为创建索引样例,描述如下:
I.基于用户的查询日志,获取所有的查询串,例如某场景下的用户查询串列表
192.168.1.1 |
127.0.0.1 |
255.255.255.255 |
root |
通过分析这些查询串,获取热词的组成和种类,本例中大部分的查询串都是ipv4地址,即热词的种类是ipv4地址
定义热词的匹配规则,本例中需要对热词ipv4地址设定一个正则表达式:“[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}”
对文档进行分词,并利用正则表达式识别热词和冷词,然后分别对热词和冷词建索引,并把热词的索引存储在SSD盘上,把冷词的索引存储在SATA盘上,具体的操作流程如下:
1:读取热词的匹配规则(可以有多种),本例中是ipv4的正则表达式:
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} |
2:初始化文档id为0
3:读取文档,并把当前的文档id 0赋给给文档,例如当前文档的内容如下:
你登陆的ip为:127.0.0.1,浏览器为IE8 |
4:对文档的内容进行分词,上面的文档经过分词后,得到如下词集合
5:对上面的词分别进行正则表达式匹配(本例中是ipv4的表达式),匹配结果如下:
你 | 不匹配 |
登陆 | 不匹配 |
ip | 不匹配 |
127.0.0.1 | 匹配 |
浏览器 | 不匹配 |
IE8 | 不匹配 |
6:将匹配的词(即热词)放到热词的倒排索引中,将不匹配的词(即冷词)放到冷词的倒排索引中
7:继续读取下一个文档,如果还有文档,则将文档id增1,并执行步骤3,否则执行步骤8
8:将热词的倒排索引存储到SSD盘上,冷词的倒排索引存储到SATA盘上。
以上述依据发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改,本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (2)
1.一种基于冷热词分离的索引方法,其特征在于:包括冷热词分离的索引创建方法和存储策略,包括如下步骤:
步骤一、读取热词的正则表达式,用于文档内容里的冷热词提取;
步骤二、初始化文档id为0,给每篇文档一个唯一的编号;
步骤三、读取文档内容,并为文档赋上当前的id值,该文档的内容用于创建倒排索引和检索;
步骤四、对文档的内容进行分词,分词是倒排索引必须做的重要步骤,以实现词到文档id的映射表,也即倒排表;
步骤五、对刚刚切分的词进行正则表达式匹配,并标示匹配结果;
步骤六、检查分词的匹配结果。如果匹配,则将该词加入热词的倒排索引H中,如果不匹配,则将该词加入冷词倒排索引C中。倒排索引H和倒排索引C是2个独立的倒排索引;
步骤七、判断是否还有文档,如果有则将文档id增1,并执行步骤三,否则执行步骤八;
步骤八:将热词数据的倒排索引H存储到高速的SSD盘上。通过正则表达式提取的热词数据的倒排索引大小不会太大,存储在高速的SSD盘上,可以提高热词数据的检索速度;
步骤九:将冷词的倒排索引C存储在相对低速的SATA盘或SAS盘上。
2.根据权利要求1基于冷热词分离的索引方法,其特征在于:还包括冷热词分离的倒排索引检索方法,其具体操作步骤描述如下:
步骤一:读取热词的正则表达式,该正则表达式和创建索引时的正则表达式一致,用于检索分离出查询串中的冷热词;
步骤二:读取查询关键词;
步骤三:对查询串进行分词,分词是为了在倒排索引中查找词的倒排表;
步骤四:对刚刚切分的词进行正则表达式匹配,检查是否命中,如果命中,则表明是热词,需要从高速的SSD盘上读取该词的倒排表,如果未命中,则表明是冷词,需要从低速的SATA盘或SAS盘上读取该词的倒排表;
步骤五:判断查询串是否分词完毕,如果是,则转步骤6,否则转3;
步骤六:对切分后的每个词以在查询串中的逻辑关系(AND,OR),对各个倒排表进行相应的交并集运算;
步骤七:输出运算结果,也就是该查询串的检索结果,是一批文档id集或空集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710579852.4A CN110019638A (zh) | 2017-07-17 | 2017-07-17 | 一种基于冷热词分离的索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710579852.4A CN110019638A (zh) | 2017-07-17 | 2017-07-17 | 一种基于冷热词分离的索引方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019638A true CN110019638A (zh) | 2019-07-16 |
Family
ID=67185835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710579852.4A Pending CN110019638A (zh) | 2017-07-17 | 2017-07-17 | 一种基于冷热词分离的索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019638A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916905A (zh) * | 2006-09-04 | 2007-02-21 | 北京航空航天大学 | 基于倒排表进行检索提示的方法 |
JP2010198425A (ja) * | 2009-02-26 | 2010-09-09 | Hitachi Ltd | 文書管理方法、装置 |
CN102110123A (zh) * | 2009-12-29 | 2011-06-29 | 中国人民解放军国防科学技术大学 | 倒排索引建立方法 |
CN103106050A (zh) * | 2013-02-22 | 2013-05-15 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统数据分层存储复制的方法 |
CN104281600A (zh) * | 2013-07-05 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 智能选词的方法和装置 |
CN104679778A (zh) * | 2013-11-29 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种搜索结果的生成方法及装置 |
-
2017
- 2017-07-17 CN CN201710579852.4A patent/CN110019638A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916905A (zh) * | 2006-09-04 | 2007-02-21 | 北京航空航天大学 | 基于倒排表进行检索提示的方法 |
JP2010198425A (ja) * | 2009-02-26 | 2010-09-09 | Hitachi Ltd | 文書管理方法、装置 |
CN102110123A (zh) * | 2009-12-29 | 2011-06-29 | 中国人民解放军国防科学技术大学 | 倒排索引建立方法 |
CN103106050A (zh) * | 2013-02-22 | 2013-05-15 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统数据分层存储复制的方法 |
CN104281600A (zh) * | 2013-07-05 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 智能选词的方法和装置 |
CN104679778A (zh) * | 2013-11-29 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种搜索结果的生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101819578B (zh) | 检索方法、索引建立方法和装置及检索系统 | |
CN108829658B (zh) | 新词发现的方法及装置 | |
CN105224518B (zh) | 文本相似度的计算方法及系统、相似文本的查找方法及系统 | |
WO2019136841A1 (zh) | 直播间内容标签提取方法、存储介质、电子设备及系统 | |
CN106033416A (zh) | 一种字符串处理方法及装置 | |
CN106503223B (zh) | 一种结合位置和关键词信息的在线房源搜索方法及装置 | |
CN107544988B (zh) | 一种获取舆情数据的方法和装置 | |
WO2015149533A1 (zh) | 一种基于网页内容分类进行分词处理的方法和装置 | |
CN102789464B (zh) | 基于语意识别的自然语言处理方法、装置和系统 | |
TW201131402A (en) | Enabling faster full-text searching using a structured data store | |
CN101246499A (zh) | 网络信息搜索方法及系统 | |
CN101261629A (zh) | 基于自动分类技术的特定信息搜索方法 | |
CN107562843B (zh) | 一种基于标题高频切分的新闻热点短语提取方法 | |
CN101673266A (zh) | 音频、视频内容的搜索方法 | |
CN112214991B (zh) | 一种基于多特征融合加权的微博文本立场检测方法 | |
CN103218443A (zh) | 一种面向博客网页的网页检索系统及方法 | |
CN105512333A (zh) | 基于情感倾向的产品评论主题搜索方法 | |
CN109033225A (zh) | 中文地址识别系统 | |
CN105069076A (zh) | 确定官网首页中的地址信息的方法及装置 | |
CN107463711A (zh) | 一种数据的标签匹配方法及装置 | |
CN103034656A (zh) | 章节内容分层方法和装置、文章内容分层方法和装置 | |
CN101673263B (zh) | 视频内容的搜索方法 | |
CN101673262B (zh) | 音频内容的搜索方法 | |
CN109344233B (zh) | 一种中文人名识别方法 | |
CN105574004B (zh) | 一种网页去重方法和设备 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210918 Address after: 211161 Sheng'an Avenue 739, Binjiang Economic Development Zone, Jiangning District, Nanjing City, Jiangsu Province Applicant after: NANJING FENGHUO TIANDI COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 210000 Fenghuo technology building, No. 88, yunlongshan Road, Nanjing, Jiangsu Applicant before: NANJING FIBERHOME SOFTWARE TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190716 |