CN101963965A - 基于搜索引擎的文档索引方法、数据查询方法及服务器 - Google Patents

基于搜索引擎的文档索引方法、数据查询方法及服务器 Download PDF

Info

Publication number
CN101963965A
CN101963965A CN2009101514872A CN200910151487A CN101963965A CN 101963965 A CN101963965 A CN 101963965A CN 2009101514872 A CN2009101514872 A CN 2009101514872A CN 200910151487 A CN200910151487 A CN 200910151487A CN 101963965 A CN101963965 A CN 101963965A
Authority
CN
China
Prior art keywords
word
gram
gram word
participle
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.)
Granted
Application number
CN2009101514872A
Other languages
English (en)
Other versions
CN101963965B (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN2009101514872A priority Critical patent/CN101963965B/zh
Priority to US12/804,441 priority patent/US9275128B2/en
Priority to JP2012521619A priority patent/JP5616444B2/ja
Priority to EP10802552.9A priority patent/EP2457185A4/en
Priority to PCT/US2010/002047 priority patent/WO2011011063A2/en
Publication of CN101963965A publication Critical patent/CN101963965A/zh
Priority to HK11103854.6A priority patent/HK1150081A1/xx
Application granted granted Critical
Publication of CN101963965B publication Critical patent/CN101963965B/zh
Priority to US14/973,395 priority patent/US9946753B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3337Translation of the query language, e.g. Chinese to English
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Abstract

本申请实施例公开了基于搜索引擎的文档索引方法、数据查询方法及服务器,所述文档索引方法包括:获取待索引的文档,并对所述文档进行分词操作得到一元分词;判断每个一元分词是否为过滤字,若所述一元分词是过滤字,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,对所述多元分词建立索引;若所述一元分词不是过滤字,则直接对所述一元分词建立索引。本申请实施例中在进行索引或查询时,将作为高频字的一元分词与其相邻的至少一个一元分词组成多元分词,以保证不会因为对高频字进行索引而导致查询时浪费搜索引擎的资源,并且也不会因为跳过对高频字的索引而导致查询结果不准确。

Description

基于搜索引擎的文档索引方法、数据查询方法及服务器
技术领域
本申请涉及搜索引擎技术领域,尤其涉及一种基于搜索引擎的文档索引方法、数据查询方法及服务器。
背景技术
搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,并将处理后的信息显示给用户,为用户提供检索服务的系统。
搜索引擎的工作原理如下:首先,进行网页抓取,每个独立的搜索引擎都有自己的网页抓取程序,俗称网络蜘蛛(Spider),Spider顺着网页中的超链接,连续地抓取网页,被抓取的网页被称之为网页快照,由于互联网中超链接的应用很普遍,理论上,从一定范围的网页出发,就能搜集到绝大多数的网页;其次,进行网页处理,搜索引擎抓到网页后,提取关键词,建立索引文件;才能提供检索服务;最后,提供检索服务,用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页,为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。
对于中文搜索引擎来说,在进行索引和查询时,都需要进行中文分词的操作,其中常用的中文分词方法为一元分词法,即将句子中的每个汉字作为一个单位,假设待索引的句子为“中国股市”,则经过一元分词后的结果为四个单字,分别为“中”、“国”、“股”、“市”。以“市”字为例,在索引了600万个文档的单台搜索引擎服务器内,“市”字出现的概率高达93%,因此在根据一元分词划分结果查询“中国股市”时,对于“市”字的查询将极大消耗搜索引擎服务器的资源,因此在搜索引擎内,预先保存了高频字列表,对于高频字采用过滤的方式不进行查询,因此搜索“中国股市”就简化为搜索“中国股”,以跳过对高频字“市”的查询。
在对现有技术的研究和实践过程中,发明人发现现有技术中存在以下问题:在采用一元分词法进行索引和查询时,虽然通过预先设置的高频字列表跳过了对高频字的查询,但是却会导致查询结果不准确。仍然以查询“中国股市”为例,虽然跳过了“市”字的查询,但是返回的查询结果中将包括大量的“中国股民”、“中国股票”等包含“中国股”的查询结果,因此导致查询结果与需要查询的内容不相符。
发明内容
本申请实施例的目的是提供一种基于搜索引擎的文档索引方法、数据查询方法及服务器,以解决现有通过高频词过滤方式进行索引和查询,导致查询结果不准确的问题。
为解决上述技术问题,本申请实施例提供了一种基于搜索引擎的文档索引方法,是这样实现的:
一种基于搜索引擎的文档索引方法,包括:
获取待索引的文档,并对所述文档进行分词操作得到一元分词;
判断每个一元分词是否为过滤字,若所述一元分词是过滤字,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,对所述多元分词建立索引;
若所述一元分词不是过滤字,则直接对所述一元分词建立索引。
为解决上述技术问题,本申请实施例提供了一种基于搜索引擎的数据查询方法,是这样实现的:
一种基于搜索引擎的数据查询方法,所述数据查询方法应用所述文档索引方法所建立的索引,包括:
获取待查询的数据,并对所述数据进行分词操作得到一元分词;
判断每个一元分词是否为过滤字,若所述一元分词是过滤字,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,根据所述多元分词查找所述索引,若所述一元分词不是过滤字,则根据所述一元分词查找所述索引;
将查找所述索引后得到的查询结果进行合并。
为解决上述技术问题,本申请实施例还提供了一种基于搜索引擎的文档索引服务器,是这样实现的:
一种基于搜索引擎的文档索引服务器,包括:
获取单元,用于获取待索引的文档;
分词单元,用于对所述获取单元获取的文档进行分词操作得到一元分词;
判断单元,用于判断每个一元分词是否为过滤字;
索引单元,用于当所述判断单元判断所述一元分词是过滤字时,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,对所述多元分词建立索引,当所述判断单元判断所述一元分词不是过滤字时,则直接对所述一元分词建立索引。
为解决上述技术问题,本申请实施例还提供了一种基于搜索引擎的数据查询服务器,是这样实现的:
一种基于搜索引擎的数据查询服务器,所述数据查询服务器应用所述文档索引服务器所建立的索引,包括:
获取单元,用于获取待查询的数据;
分词单元,用于对所述获取单元获取的数据进行分词操作得到一元分词;
判断单元,用于判断每个一元分词是否为过滤字;
查找单元,用于当所述判断单元判断所述一元分词是过滤字时,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,根据所述多元分词查找所述索引,当所述判断单元判断所述一元分词不是过滤字时,则根据所述一元分词查找所述索引;
合并单元,用于将所述查找单元查找所述索引后得到的查询结果进行合并。
可见,本申请实施例中在进行索引或查询时,将作为高频字的一元分词与其相邻的至少一个一元分词组成多元分词,以保证不会因为对高频字进行索引而导致查询时浪费搜索引擎的资源,并且也不会因为跳过对高频字的索引而导致查询结果不准确;以查询“中国股市”为例,本申请实施例将以分词“中”、“国”、“股”、“股市”进行查询,由于分词“股市”的命中率远低于高频字“市”的命中率,并且也不会由于跳过对“市”的查询而查询到除“股市”以外的分词,因此在降低搜索引擎资源消耗的同时可以返回正确的查询结果,由此提高了搜索引擎的性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请基于搜索引擎的文档索引方法的第一实施例流程图;
图2为本申请基于搜索引擎的文档索引方法的第二实施例流程图;
图3为本申请基于搜索引擎的数据查询方法的第一实施例流程图;
图4为本申请基于搜索引擎的数据查询方法的第二实施例流程图;
图5为本申请基于搜索引擎的文档索引服务器的第一实施例框图;
图6为本申请基于搜索引擎的文档索引服务器的第二实施例框图;
图7为本申请基于搜索引擎的数据查询服务器的第一实施例框图;
图8为本申请基于搜索引擎的数据查询服务器的第二实施例框图。
具体实施方式
本申请实施例提供一种基于搜索引擎的文档索引方法、数据查询方法及服务器。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
搜索引擎按照功能划分,通常由搜索模块、索引模块、查询模块和用户接口模块四个部分组成。其中,搜索模块的功能是通过Spider在互联网中漫游,发现和搜集网页信息;索引模块的功能是从搜索模块搜索到的网页中抽取出索引项,用于表示文档以及生成文档库的索引表;查询模块的功能是根据用户的查询在索引库中检索文档,并对将要输出的结果进行排序,按照用户的查询需求合理反馈信息;用户接口模块的作用是接收用户的查询请求,并向用户返回查询结果。本申请实施例主要描述搜索引擎中的索引功能和查询功能的实现过程。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
参见图1,为本申请基于搜索引擎的文档索引方法的第一实施例流程图:
步骤101:获取待索引的文档。
本申请实施例中待索引的文档通常为通过搜索引擎的搜索功能从互联网中搜集的网页信息,这些网页信息被保存在搜索引擎服务器的存储空间内(例如磁盘),当搜索引擎服务器需要进行索引时,则从存储空间内获取还未索引过的网页信息。
步骤102:对待索引的文档进行分词操作得到一元分词。
需要说明的是,如果待索引的文档中只有一个字,并且该字是高频字,则不再为该文档建立索引。
步骤103:判断每个一元分词是否为过滤字,若是,则执行步骤104;否则,执行步骤105。
其中,过滤字就是搜索引擎在查询时会直接忽略不查的高频字,这些高频字由于在文档中出现的频率较高,因此查询时会耗费大量系统资源,所以通常事先通过统计等手段在索引前就确定好过滤字列表,用于后续查询时跳过对这些高频字的查询。例如,根据统计结果,“中国股市”中的“市”为高频字,因此可以将“市”写入过滤字列表。
通常对文档分词后得到的一元分词结果中包含若干个一元分词,因此顺序对每个一元分词是否为过滤字进行判断。
步骤104:将一元分词和与该一元分词顺序相邻的至少一个一元分词组成多元分词,对该多元分词建立索引,结束当前流程。
其中,优选的,将一元分词和与该一元分词顺序相邻的一元分词组成二元分词,对于判断为高频字的当前一元分词,如果该一元分词是文档中的第一个一元分词时,则将该一元分词与其后一个一元分词组成二元分词;如果该一元分词是文档中的最后一个一元分词时,则将该一元分词与其前一个一元分词组成二元分词;如果该一元分词不是该文档中的第一个一元分词和最后一个一元分词,则将该一元分词与其前一个一元分词和后一个一元分词分别组成二元分词。
对于按照上述方式组成的二元分词建立索引,由上述描述可知,两个相邻的一元分词组成一个二元分词,例如,“我”和“的”是两个一元分词,则将它们结合起来组成“我的”就是二元分词。
同理,多元分词指至少两个相邻的一元分词组成一个多元分词,除了上述二元分词外,还有三元分词、四元分词等,例如,由“中”、“国”和“人”组成一个三元分词“中国人”。
步骤105:直接对该一元分词建立索引,结束当前流程。
对于不是高频字的一元分词,则按照现有技术中的方式直接对其建立索引。
参见图2,为本申请基于搜索引擎的文档索引方法的第二实施例流程图,该实施例以多元分词为二元分词为例,详细描述了文档索引过程:
步骤201:预先设置过滤字列表。
过滤字列表的设置可以通过对互联网中大量文档的统计计算得到。例如,假设对600万个文档分别进行一元分词,然后计算这些一元分词在每个文档中出现的次数,最后对这些一元分词出现的次数进行排序,取排序最高(例如前10个)的一元分词作为高频字,构建高频字列表。
步骤202:加载过滤字列表后,获取待索引的文档。
步骤203:对待索引的文档进行分词操作得到一元分词。
步骤204:遍历所述一元分词。
遍历一元分词,即按照文档的分词结果顺序获取每一个一元分词,并对获取的每一个一元分词执行后续是否为过滤字的判断步骤。
步骤205:通过查找过滤字列表判断当前一元分词是否为过滤字,若是,则执行步骤206;否则,执行步骤208。
步骤206:将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词。
步骤207:对二元分词建立索引,执行步骤209。
步骤208:直接对一元分词建立索引。
步骤209:判断是否遍历完所述一元分词,若是,则结束当前流程;否则,返回步骤204。
上述本申请基于搜索引擎的文档索引方法的第二实施例中,步骤204至步骤208可以采用如下示例的伪码实现:
Token token=getCurrentToken();//获取当前分词
If(isFreqWord(token)){//如果当前是高频字
   Token token2=mergeToken(preToken,token);//和前一个分词组成新单词
   doTokenIndex(token2);//建索引
   Token token3=mergeToken(lastToken,token);//和后一个分词组成新单词
         doTokenIndex(token3);//建索引
}
else
         doTokenIndex(token);//如果不是高频字,则直接建索引
在搜索引擎中应用上述文档索引方法实施例建立的索引中,没有为高频字建立的索引,但包括了对高频字与其相邻的字组合而成的二元分词建立的索引,为后续数据查询的准确性提供了保证。
与本申请基于搜索引擎的文档索引方法的实施例相对应,本申请还提供了基于搜索引擎的数据查询方法的实施例,所述数据查询方法的实施例通过应用所述文档索引方法的实施例所建立的索引进行数据查询。
参见图3,为本申请基于搜索引擎的数据查询方法的第一实施例流程图;
步骤301:获取待查询的数据。
待查询的数据通常为互联网用户从网站前端输入的需要查询的数据,由搜索引擎接收该输入的查询数据。
步骤302:对待查询的数据进行分词操作得到一元分词。
步骤303:判断每个一元分词是否为过滤字,若是,则执行步骤304;否则,执行步骤305。
通常对数据分词后得到的一元分词结果中包含若干个一元分词,因此顺序对每个一元分词是否为过滤字进行判断。
步骤304:将一元分词和与该一元分词顺序相邻的至少一个一元分词组成多元分词,根据该多元分词查找建立的索引,执行步骤306。
其中,优选的,将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词,对于判断为高频字的当前一元分词,如果该一元分词是待查询数据中的第一个一元分词,则将该一元分词与其后一个一元分词组成二元分词;如果该一元分词不是待查询数据中的第一个一元分词,则将该一元分词与其前一个一元分词或后一个一元分词组成二元分词。
步骤305:根据该一元分词查找建立的索引。
步骤306:将查找索引后得到的查询结果进行合并,结束当前流程。
参见图4,为本申请基于搜索引擎的数据查询方法的第二实施例流程图,该实施例以多元分词为二元分词为例,详细描述了数据查询过程:
步骤401:加载预先设置的过滤字列表后,获取待查询的数据。
步骤402:对待查询的数据进行分词操作得到一元分词。
步骤403:遍历所述一元分词。
遍历一元分词,即按照待查询数据的分词结果顺序获取每一个一元分词,并对获取的一元分词执行后续是否为过滤字的判断步骤。
步骤404:通过查找过滤字列表判断当前一元分词是否为过滤字,若是,则执行步骤405;否则,执行步骤407。
步骤405:将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词。
步骤406:根据该二元分词查找建立的索引,执行步骤208。
步骤407:根据该一元分词查找建立的索引。
步骤408:判断是否遍历完所述一元分词,若是,则执行步骤409;否则,返回步骤403。
步骤409:将查找索引后得到的所有查询结果进行合并,结束当前流程。
对于根据每个分词查询索引后得到的结果进行合并,进一步还可以根据预先设置的条件(例如返回20个结果)向用户返回最终显示的查询结果,此处与现有技术一致,在此不再赘述。
上述本申请基于搜索引擎的数据查询方法的第二实施例中,步骤403至步骤407可以采用如下示例的伪码实现:
Token token=getCurrentToken();//获取当前分词
If(isFreqWord(token)){//如果当前是高频字
Token token2;
If(isFristWord(token))
          token2=mergeToken(lastToken,token);//位于句首则后向结合
        else
          token2=mergeToken(preToken,token);//非句首则前向结合
        doTokenSearch(token2);//对结合后的新词进行查询
}
else
        doTokenSearch(token);//如果不是高频字,则直接查询
在搜索引擎中应用上述数据查询方法实施例进行数据查询,由于建立的索引中没有高频字,并且将高频字与其它字组成二元分词后建立了索引,因此在数据查询时不会因为对高频字进行索引而浪费搜索引擎的资源,并且也不会因为跳过对高频字的查询而导致结果不准确。
另外,需要说明的是,上述本申请索引和查询实施例应用在中文搜索引擎时,其中对待查询的数据进行分词操作得到的一元分词指每个单字,以“中国股市”为例,根据统计结果预先设置的过滤字为“市”,划分得到的一元分词为“中”、“国”、“股”、“市”;当上述本申请索引和查询实施例应用在外文搜索引擎时,以英文“Chinese Stock Market”为例,则假设根据统计“Stock”是过滤字,则按照英文分词特点划分得到的一元分词为“Chinese”、“Stock”、“Market”,后续索引和查询的过程与中文字一致,即在索引时,过滤“Stock”后,得到的索引分别为“Chinese”、“Chinese Stock”、“Stock Market”和“Market”;查询时,可以对“Chinese”、“Chinese Stock”、“Market”进行查询,在此不再赘述。
与本申请基于搜索引擎的文档索引方法和数据查询方法的实施例相对应,本申请还提供了基于搜索引擎的文档索引服务器和数据查询服务器的实施例。
参见图5,为本申请基于搜索引擎的文档索引服务器的第一实施例框图:
该文档索引服务器包括:获取单元510、分词单元520、判断单元530和索引单元540。
其中,获取单元510,用于获取待索引的文档;
分词单元520,用于对所述获取单元510获取的文档进行分词操作得到一元分词;
判断单元530,用于判断每个一元分词是否为过滤字;
索引单元540,用于当所述判断单元530判断所述一元分词是过滤字时,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,对所述多元分词建立索引,当所述判断单元530判断所述一元分词不是过滤字时,则直接对所述一元分词建立索引。
参见图6,为本申请基于搜索引擎的文档索引服务器的第二实施例框图:
该文档索引服务器包括:预置单元610、加载单元620、获取单元630、分词单元640、判断单元650和索引单元660。
其中,预置单元610,用于预先设置过滤字列表;
加载单元620,用于加载所述阈值单元610中的过滤字列表;
获取单元630,用于获取待索引的文档;
分词单元640,用于对所述获取单元630获取的文档进行分词操作得到一元分词;
判断单元650,用于判断每个一元分词是否为过滤字;
索引单元660,用于当所述判断单元650判断所述一元分词是过滤字时,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,对所述多元分词建立索引,当所述判断单元650判断所述一元分词不是过滤字时,则直接对所述一元分词建立索引。优选的,索引单元660将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词,对所述二元分词建立索引。
具体的,判断单元650可以包括(图6中未示出):遍历分词单元,用于遍历所述一元分词;查找过滤字单元,用于通过查找所述过滤字列表判断每个一元分词是否为过滤字。
本申请提供的基于搜索引擎的数据查询服务器的实施例通过应用所述文档索引服务器的实施例所建立的索引进行数据查询。
参见图7,为本申请基于搜索引擎的数据查询服务器的第一实施例框图:
该数据查询服务器包括:获取单元710、分词单元720、判断单元730、查找单元740和合并单元750。
获取单元710,用于获取待查询的数据;
分词单元720,用于对所述获取单元获取的数据进行分词操作得到一元分词;
判断单元730,用于判断每个一元分词是否为过滤字;
查找单元740,用于当所述判断单元730判断所述一元分词是过滤字时,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,根据所述多元分词查找所述索引,当所述判断单元730判断所述一元分词不是过滤字时,则根据所述一元分词查找所述索引;
合并单元750,用于将所述查找单元740查找所述索引后得到的查询结果进行合并。
参见图8,为本申请基于搜索引擎的数据查询服务器的第二实施例框图:
该数据查询服务器包括:加载单元810、获取单元820、分词单元830、判断单元840、查找单元850和合并单元860。
加载单元810,用于加载预先设置的过滤字列表;
获取单元820,用于获取待查询的数据;
分词单元830,用于对所述获取单元820获取的数据进行分词操作得到一元分词;
判断单元840,用于判断每个一元分词是否为过滤字;
查找单元850,用于当所述判断单元840判断所述一元分词是过滤字时,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,根据所述多元分词查找所述索引,当所述判断单元840判断所述一元分词不是过滤字时,则根据所述一元分词查找所述索引;优选的,查找单元850将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词,根据所述二元分词查找所述索引;
合并单元860,用于将所述查找单元850查找所述索引后得到的查询结果进行合并。
具体的,判断单元840可以包括(图8中未示出):遍历分词单元,用于遍历所述一元分词;查找过滤字单元,用于通过查找所述过滤字列表判断每个一元分词是否为过滤字。
通过以上的实施方式的描述可知,本申请实施例在对搜索引擎的索引和查询过程中,通过将高频一元分词组成有限多元分词,从而将对高频字的查询转换为对低频词的查询,在获取正确查询结果的基础上降低了搜索引擎的负载,提升了搜索引擎的查询性能。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (18)

1.一种基于搜索引擎的文档索引方法,其特征在于,包括:
获取待索引的文档,并对所述文档进行分词操作得到一元分词;
判断每个一元分词是否为过滤字,若所述一元分词是过滤字,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,对所述多元分词建立索引;
若所述一元分词不是过滤字,则直接对所述一元分词建立索引。
2.根据权利要求1所述的方法,其特征在于,还包括:预先设置过滤字列表。
3.根据权利要求2所述的方法,其特征在于,所述获取待索引的文档之前还包括:加载所述过滤字列表。
4.根据权利要求3所述的方法,其特征在于,所述判断每个一元分词是否为过滤字包括:
遍历所述一元分词;
通过查找所述过滤字列表判断每个一元分词是否为过滤字。
5.根据权利要求1所述的方法,其特征在于,所述将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词包括:将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词。
6.根据权利要求5所述的方法,其特征在于,所述将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词包括:
当所述一元分词是所述文档中的第一个一元分词时,将所述一元分词与其后一个一元分词组成二元分词;
当所述一元分词是所述文档中的最后一个一元分词时,将所述一元分词与其前一个一元分词组成二元分词;
当所述一元分词不是所述文档中的第一个一元分词和最后一个一元分词时,将所述一元分词与其前一个一元分词和后一个一元分词分别组成二元分词。
7.一种基于搜索引擎的数据查询方法,其特征在于,所述方法应用如权利要求1所述文档索引方法所建立的索引,包括:
获取待查询的数据,并对所述数据进行分词操作得到一元分词;
判断每个一元分词是否为过滤字,若所述一元分词是过滤字,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,根据所述多元分词查找所述索引,若所述一元分词不是过滤字,则根据所述一元分词查找所述索引;
将查找所述索引后得到的查询结果进行合并。
8.根据权利要求7所述的方法,其特征在于,所述获取待查询数据之前,还包括:加载预先设置的过滤字列表。
9.根据权利要求8所述的方法,其特征在于,所述判断每个一元分词是否为过滤字,包括:
遍历所述一元分词;
通过查找所述过滤字列表判断每个一元分词是否为过滤字。
10.根据权利要求7所述的方法,其特征在于,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词包括:将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词。
11.根据权利要求10所述的方法,其特征在于,所述将所述一元分词和与所述一元分词顺序相邻的一元分词组成二元分词包括:
当所述一元分词是所述数据中的第一个一元分词时,将所述一元分词与其后一个一元分词组成二元分词;
当所述一元分词不是所述数据中的第一个一元分词时,将所述一元分词与其前一个一元分词或后一个一元分词组成二元分词。
12.一种基于搜索引擎的文档索引服务器,其特征在于,包括:
获取单元,用于获取待索引的文档;
分词单元,用于对所述获取单元获取的文档进行分词操作得到一元分词;
判断单元,用于判断每个一元分词是否为过滤字;
索引单元,用于当所述判断单元判断所述一元分词是过滤字时,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,对所述多元分词建立索引,当所述判断单元判断所述一元分词不是过滤字时,则直接对所述一元分词建立索引。
13.根据权利要求12所述的服务器,其特征在于,还包括:
预置单元,用于预先设置过滤字列表。
14.根据权利要求13所述的服务器,其特征在于,还包括:
加载单元,用于所述获取单元获取待索引的文档之前,加载所述过滤字列表。
15.根据权利要14所述的服务器,其特征在于,所述判断单元包括:
遍历分词单元,用于遍历所述一元分词;
查找过滤字单元,用于通过查找所述过滤字列表判断每个一元分词是否为过滤字。
16.一种基于搜索引擎的数据查询服务器,其特征在于,所述服务器应用如权利要求12所述文档索引服务器所建立的索引,包括:
获取单元,用于获取待查询的数据;
分词单元,用于对所述获取单元获取的数据进行分词操作得到一元分词;
判断单元,用于判断每个一元分词是否为过滤字;
查找单元,用于当所述判断单元判断所述一元分词是过滤字时,将所述一元分词和与所述一元分词顺序相邻的至少一个一元分词组成多元分词,根据所述多元分词查找所述索引,当所述判断单元判断所述一元分词不是过滤字时,则根据所述一元分词查找所述索引;
合并单元,用于将所述查找单元查找所述索引后得到的查询结果进行合并。
17.根据权利要求16所述的服务器,其特征在于,还包括:
加载单元,用于所述获取单元获取待查询的数据之前,加载预先设置的过滤字列表。
18.根据权利要求16所述的服务器,其特征在于,所述判断单元包括:
遍历分词单元,用于遍历所述一元分词;
查找过滤字单元,用于通过查找所述过滤字列表判断每个一元分词是否为过滤字。
CN2009101514872A 2009-07-23 2009-07-23 基于搜索引擎的文档索引方法、数据查询方法及服务器 Expired - Fee Related CN101963965B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN2009101514872A CN101963965B (zh) 2009-07-23 2009-07-23 基于搜索引擎的文档索引方法、数据查询方法及服务器
US12/804,441 US9275128B2 (en) 2009-07-23 2010-07-20 Method and system for document indexing and data querying
EP10802552.9A EP2457185A4 (en) 2009-07-23 2010-07-21 METHOD AND SYSTEM FOR DOCUMENT INSPECTION AND DATA INQUIRY
PCT/US2010/002047 WO2011011063A2 (en) 2009-07-23 2010-07-21 Method and system for document indexing and data querying
JP2012521619A JP5616444B2 (ja) 2009-07-23 2010-07-21 文書インデックス化およびデータクエリングのための方法およびシステム
HK11103854.6A HK1150081A1 (en) 2009-07-23 2011-04-18 Document indexing method and data querying method based on search engine, and server
US14/973,395 US9946753B2 (en) 2009-07-23 2015-12-17 Method and system for document indexing and data querying

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101514872A CN101963965B (zh) 2009-07-23 2009-07-23 基于搜索引擎的文档索引方法、数据查询方法及服务器

Publications (2)

Publication Number Publication Date
CN101963965A true CN101963965A (zh) 2011-02-02
CN101963965B CN101963965B (zh) 2013-03-20

Family

ID=43498187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101514872A Expired - Fee Related CN101963965B (zh) 2009-07-23 2009-07-23 基于搜索引擎的文档索引方法、数据查询方法及服务器

Country Status (6)

Country Link
US (2) US9275128B2 (zh)
EP (1) EP2457185A4 (zh)
JP (1) JP5616444B2 (zh)
CN (1) CN101963965B (zh)
HK (1) HK1150081A1 (zh)
WO (1) WO2011011063A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064840A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 索引装置、索引方法、检索装置、检索方法和检索系统
CN107451122A (zh) * 2017-08-09 2017-12-08 南京华飞数据技术有限公司 一种基于Lucene的动态n元分词方法
CN110516141A (zh) * 2019-07-22 2019-11-29 视联动力信息技术股份有限公司 数据查询方法、装置、电子设备以及可读存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311105B2 (en) * 2010-12-28 2019-06-04 Microsoft Technology Licensing, Llc Filtering queried data on data stores
US9129010B2 (en) * 2011-05-16 2015-09-08 Argo Data Resource Corporation System and method of partitioned lexicographic search
US9536105B2 (en) 2012-01-26 2017-01-03 Nokia Technologies Oy Method and apparatus for providing data access via multi-user views
US8972715B2 (en) * 2012-07-13 2015-03-03 Securerf Corporation Cryptographic hash function
US9087055B2 (en) 2013-01-28 2015-07-21 International Business Machines Corporation Segmenting documents within a full text index
CN104376014B (zh) * 2013-08-15 2018-03-23 中国科学院声学研究所 一种结构化p2p网络中的资源发布及查询方法
US9715515B2 (en) * 2014-01-31 2017-07-25 Microsoft Technology Licensing, Llc External data access with split index
US10095807B2 (en) * 2015-04-28 2018-10-09 Microsoft Technology Licensing, Llc Linked data processor for database storage
CN106844638B (zh) * 2017-01-19 2020-11-03 杭州汇数智通科技有限公司 信息检索方法、装置及电子设备
US20240020330A1 (en) * 2022-07-18 2024-01-18 Providence St. Joseph Health Searching against attribute values of documents that are explicitly specified as part of the process of publishing the documents

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235654A (en) * 1992-04-30 1993-08-10 International Business Machines Corporation Advanced data capture architecture data processing system and method for scanned images of document forms
JP3081093B2 (ja) 1993-10-08 2000-08-28 松下電器産業株式会社 索引作成方法およびその装置と文書検索装置
US6076088A (en) * 1996-02-09 2000-06-13 Paik; Woojin Information extraction system and method using concept relation concept (CRC) triples
KR100318573B1 (ko) * 1996-10-16 2001-12-28 마찌다 가쯔히꼬 문자 입력 장치 및 문자 입력 프로그램을 기억한 기록 매체
JP4149544B2 (ja) 1997-03-10 2008-09-10 株式会社東芝 全文検索システムおよび全文検索プログラムを記録した記録媒体
US6128613A (en) * 1997-06-26 2000-10-03 The Chinese University Of Hong Kong Method and apparatus for establishing topic word classes based on an entropy cost function to retrieve documents represented by the topic words
US7039637B2 (en) * 1998-12-31 2006-05-02 International Business Machines Corporation System and method for evaluating characters in an inputted search string against a character table bank comprising a predetermined number of columns that correspond to a plurality of pre-determined candidate character sets in order to provide enhanced full text search
JP3696745B2 (ja) * 1999-02-09 2005-09-21 株式会社日立製作所 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
US6631373B1 (en) * 1999-03-02 2003-10-07 Canon Kabushiki Kaisha Segmented document indexing and search
JP2001109754A (ja) * 1999-09-30 2001-04-20 Internatl Business Mach Corp <Ibm> 索引ファイルを使用した検索方法及びそれに用いる装置
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US20020022953A1 (en) * 2000-05-24 2002-02-21 Bertolus Phillip Andre Indexing and searching ideographic characters on the internet
US6941513B2 (en) * 2000-06-15 2005-09-06 Cognisphere, Inc. System and method for text structuring and text generation
US6687687B1 (en) 2000-07-26 2004-02-03 Zix Scm, Inc. Dynamic indexing information retrieval or filtering system
US7254269B2 (en) * 2000-08-31 2007-08-07 Hewlett-Packard Development Company, L.P. Character recognition system
US6697801B1 (en) * 2000-08-31 2004-02-24 Novell, Inc. Methods of hierarchically parsing and indexing text
CN1253815C (zh) * 2000-09-08 2006-04-26 百度在线网络技术(北京)有限公司 计算机在中文数据中识别中文姓名的方法
US7860706B2 (en) * 2001-03-16 2010-12-28 Eli Abir Knowledge system method and appparatus
EP1417824A4 (en) * 2001-07-18 2006-09-13 Min-Kyum Kim DEVICE AND METHOD FOR ENTERING ALPHABETIC CHARACTERS
US7814043B2 (en) * 2001-11-26 2010-10-12 Fujitsu Limited Content information analyzing method and apparatus
JP4108337B2 (ja) 2002-01-10 2008-06-25 三菱電機株式会社 電子ファイリングシステム及びその検索インデックス作成方法
EP1485825A4 (en) * 2002-02-04 2008-03-19 Cataphora Inc DETAILED EXPLORATION TECHNIQUE OF SOCIOLOGICAL DATA AND CORRESPONDING APPARATUS
CA2501114A1 (en) * 2002-04-12 2003-10-23 Metainformatics System and method for semantics driven data processing
US7254580B1 (en) 2003-07-31 2007-08-07 Google Inc. System and method for selectively searching partitions of a database
US7617249B2 (en) * 2003-09-06 2009-11-10 Oracle International Corporation Method and system of handling document operation requests on documents having large collections with constrained memory
US7493322B2 (en) * 2003-10-15 2009-02-17 Xerox Corporation System and method for computing a measure of similarity between documents
US7458022B2 (en) * 2003-10-22 2008-11-25 Intel Corporation Hardware/software partition for high performance structured data transformation
GB2417103A (en) * 2004-08-11 2006-02-15 Sdl Plc Natural language translation system
US7487138B2 (en) * 2004-08-25 2009-02-03 Symantec Operating Corporation System and method for chunk-based indexing of file system content
US20080077570A1 (en) * 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
US7516125B2 (en) * 2005-08-01 2009-04-07 Business Objects Americas Processor for fast contextual searching
US20080155239A1 (en) * 2006-10-10 2008-06-26 Honeywell International Inc. Automata based storage and execution of application logic in smart card like devices
CN101149739A (zh) * 2007-08-24 2008-03-26 中国科学院计算技术研究所 一种面向互联网的有意义串的挖掘方法和系统
US9218166B2 (en) * 2008-02-20 2015-12-22 Embarcadero Technologies, Inc. Development system with improved methodology for creation and reuse of software assets
JP5408128B2 (ja) * 2008-05-15 2014-02-05 株式会社ニコン 画像処理装置、画像処理方法、処理装置、およびプログラム
JP2009104669A (ja) 2009-02-12 2009-05-14 Toshiba Corp 文書検索方法、システム及びプログラム
JP2012520528A (ja) * 2009-03-13 2012-09-06 インベンション マシーン コーポレーション 自然言語テキストの自動的意味ラベリングのためのシステム及び方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064840A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 索引装置、索引方法、检索装置、检索方法和检索系统
CN107451122A (zh) * 2017-08-09 2017-12-08 南京华飞数据技术有限公司 一种基于Lucene的动态n元分词方法
CN107451122B (zh) * 2017-08-09 2020-11-13 南京华飞数据技术有限公司 一种基于Lucene的动态n元分词方法
CN110516141A (zh) * 2019-07-22 2019-11-29 视联动力信息技术股份有限公司 数据查询方法、装置、电子设备以及可读存储介质

Also Published As

Publication number Publication date
CN101963965B (zh) 2013-03-20
US20160171052A1 (en) 2016-06-16
JP5616444B2 (ja) 2014-10-29
WO2011011063A2 (en) 2011-01-27
EP2457185A2 (en) 2012-05-30
WO2011011063A3 (en) 2014-03-13
US9275128B2 (en) 2016-03-01
US9946753B2 (en) 2018-04-17
HK1150081A1 (en) 2011-10-28
JP2012533819A (ja) 2012-12-27
US20110022596A1 (en) 2011-01-27
EP2457185A4 (en) 2015-04-08

Similar Documents

Publication Publication Date Title
CN101963965B (zh) 基于搜索引擎的文档索引方法、数据查询方法及服务器
US10452691B2 (en) Method and apparatus for generating search results using inverted index
CN102693271B (zh) 一种网络信息推荐方法及系统
CN102043833B (zh) 一种基于查询词进行搜索的方法和搜索装置
CN102171689B (zh) 用于提供搜索结果的方法、系统
KR102080362B1 (ko) 쿼리 확장
Ma et al. Efficiently finding web services using a clustering semantic approach
CN105404699A (zh) 一种搜索财经文章的方法、装置及服务器
CN107193987B (zh) 获取与页面相关的搜索词的方法、装置和系统
CN103544255A (zh) 基于文本语义相关的网络舆情信息分析方法
CN103136228A (zh) 一种图片搜索方法以及图片搜索装置
CN103744856A (zh) 联动性扩展搜索方法及装置、系统
CN104699737A (zh) 用于管理搜索的方法和系统
CN102567494B (zh) 网站分类方法及装置
CN103617266A (zh) 个性化扩展搜索方法及装置、系统
CN106844640A (zh) 一种网页数据分析处理方法
CN103324622A (zh) 一种自动生成首页摘要的方法及装置
CN104142990A (zh) 搜索方法及装置
EP2802979A2 (en) Processing store visiting data
US20150120708A1 (en) Information aggregation, classification and display method and system
CN102710795A (zh) 热点聚合方法及装置
CN103377260A (zh) 一种网络日志url 的分析方法及装置
CN104391978A (zh) 用于浏览器的网页收藏处理方法及装置
CN110543595A (zh) 一种站内搜索系统及方法
CN105550359A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1150081

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1150081

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130320

Termination date: 20190723

CF01 Termination of patent right due to non-payment of annual fee