CN107203557A - 用于处理待搜索的对象的方法及装置 - Google Patents
用于处理待搜索的对象的方法及装置 Download PDFInfo
- Publication number
- CN107203557A CN107203557A CN201610154618.2A CN201610154618A CN107203557A CN 107203557 A CN107203557 A CN 107203557A CN 201610154618 A CN201610154618 A CN 201610154618A CN 107203557 A CN107203557 A CN 107203557A
- Authority
- CN
- China
- Prior art keywords
- classification
- metadata
- constraint
- divided
- class condition
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—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/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/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例公开了一种用于处理待搜索的对象的方法及设备。该方法包括:接收指示与对象有关的约束的第一输入;接收指示对象所属的类别的第二输入;以及基于第一输入和第二输入,创建将约束与类别相关联的分类条件以作为分类策略的一部分,该分类策略用于将对象划分到类别以建立索引。本公开的实施例还公开了相应的设备。另外,本公开的实施例还公开了相应的用于为待搜索的对象建立索引的方法及设备。
Description
技术领域
本公开的实施例总体上涉及数据搜索领域,并且具体地,涉及一种处理待搜索对象的方法及装置。
背景技术
如今对数据搜索的应用日益增多,搜索服务系统一直致力于为最终用户提供更好的检索体验,改善在海量数据中的检索结果的准确性、丰富性,同时提高检索响应时间。为此如何对搜索资源进行合理的配置、存储和索引即成为很重要的考虑因素,以便于搜索服务系统基于搜索请求进行快速、准确检索,提高搜索服务系统的稳健性及服务质量。在为搜索对象创建索引的传统技术中,索引创建过程通常耗时、低效。而且,基于所创建的索引来搜索对象的过程同样可能是低效的,从而导致较长的系统响应时间。这直接降低了用户体验。
发明内容
总体上,本公开的实施例通过灵活的分类策略提供一种处理待搜索对象的解决方案。
根据本公开的第一方面,提供一种用于处理待搜索的对象的方法,包括:接收指示与对象有关的约束的第一输入;接收指示对象所属的类别的第二输入;以及基于第一输入和第二输入,创建将约束与类别相关联的分类条件以作为分类策略的一部分,该分类策略用于将对象划分到类别以建立索引。
在某些实施例中,约束涉及对象的元数据,元数据描述对象的属性。
在某些实施例中,约束涉及以下至少一项:元数据的范围、元数据的表达式。
在某些实施例中,元数据的表达式包括以下至少一项:描述元数据的位置的结构化语句,以及描述涉及元数据的查询的结构化语句。
在某些实施例中,约束涉及所述类别的属性。
在某些实施例中,类别的属性包括以下至少一个:类别中包含的对象的数目;以及类别中包含的对象占用的存储空间的大小。
在某些实施例中,该方法进一步包括:接收修改分类条件的第三输入;以及响应于接收到第三输入,修改分类条件。
根据本公开的第二方面,提供一种用于为待搜索的对象建立索引的方法,包括:接收到待搜索的对象;获取包括一组分类条件的分类策略,分类条件将一组约束与相应的类别相关联;以及通过匹配分类策略中的分类条件中的约束,将对象划分到类别中的一个类别,以用于建立搜索索引。
在某些实施例中,其中约束涉及对象的元数据,元数据描述对象的属性,并且将对象划分到一个类别包括:获取对象的元数据;通过将元数据与分类条件中的约束进行匹配,将对象划分到类别。。
在某些实施例中,其中约束涉及类别的属性,该方法进一步包括:确定类别中目前包含的对象的数目;以及将对象划分到类别中包含对象的数目小于预定阈值的类别。在某些实施例中,其中约束涉及类别的属性,该方法进一步包括:确定类别中目前包含的对象占用的存储空间的大小;以及将对象划分到类别中包含对象占用的存储空间的大小小于预定阈值的类别。
根据本公开的第三方面,提供一种用于处理待搜索的对象的设备,包括:至少一个处理器,被配置为:接收指示与对象有关的约束的第一输入;接收指示对象所属的类别的第二输入;以及基于第一输入和第二输入,创建将约束与类别相关联的分类条件以作为分类策略的一部分,该分类策略用于将对象划分到类别以建立索引。
根据本公开的第四方面,提供一种用于为待搜索的对象建立索引的设备,包括:至少一个处理器,被配置为:接收到待搜索的对象;获取包括一组分类条件的分类策略,分类条件将一组约束与相应的类别相关联;以及通过匹配分类策略中的分类条件中的约束,将对象划分到类别中的一个类别,以用于建立搜索索引。。
本公开的实施例能够实现基于策略的对象分类机制,管理用户将通过改变一些配置项容易地、灵活地实现所期望的分类,以提高搜索系统对最终用户的服务质量。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1图示了本公开的实施例的可应用于其中的搜索处理系统的部分示意;
图2示出了根据本公开的实施例的用于处理待搜索的对象的方法的流程图;
图3示出了根据本公开的实施例的为待搜索对象建立索引的方法的流程图;
图4示出了根据本公开的一个实施例的为待搜索对象建立索引的方法的流程图;以及
图5图示了根据本公开的实施例的对象分类装置示意图。
具体实施方式
现将结合附图对本公开的实施例进行具体的描述。应当注意的是,附图中对相似的部件或者功能组件可能使用同样的数字标示。所附附图仅仅旨在说明本公开的实施例。本领域的技术人员可以在不偏离本公开精神和保护范围的基础上从下述描述得到替代的实施方式。
如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。
在一些搜索应用中,尤其在一些企业搜索系统中,一方面由于对于安全性的考虑,只有那些用户具有足够的安全权限的搜索结果能被返回。另一方面,为了更好的可查找性,通常用户以层级文件夹结构组织文件,并且数据文件具有非常小的交叉链接性。这些因素都降低了搜索响应的速度。为了解决这一问题,本公开的实施例提供一种灵活的基于策略的划分方案,以帮助管理用户控制划分行为。有了这些创建的划分策略,可以将包含这些配置项的配置文件提供给管理用户,管理用户将通过改变一些配置项容易地实现他们所期望的划分。可以理解,本公开的基于策略的对象分类方案并不限于搜索系统的类型,在任何合适的应用场景中均可得到应用
图1示出了本公开的实施例的可应用于其中的搜索处理系统100的部分示意。通常,搜索处理系统100将海量数据进行处理,以为最终用户提供按需的检索服务。在某些实施例中,搜索处理系统100例如可以基于企业搜索应用场景而建立,用于在企业内搜索内部资源以满足各种数据利用需求。
如图所示,搜索处理系统100包括数据预处理装置102、信息库104、对象分类装置106、对象索引装置108、索引库110以及检索处理装置112。可以理解,这里仅是为了说明性而给出搜索处理系统100的示例。
数据预处理装置102可以例如采集各种数据源,数据源可以包括网络、文档库、邮件库以及包含需要检索的内容的任何其他主体。这些数据源为搜索处理系统100提供可检索的数据。这些数据例如常见的网页,还可以包括各种文件格式的文档,诸如企业内部文档(例如技术文件、数据文件、电子邮件、日程表等)等等。
在本公开中将这些数据称之为作为典型的资源类型的“文件”。数据预处理装置102对这些文件进行分析处理,使用结构化方法来标记文件,并生成相应的格式统一的对象形式,以提供给对象分类装置106处理。作为示例,可扩展标记语言(Extensive MarkupLanguage,XML)和JavaScript对象表示法(JavaScript Object Notation,JSON)等都是常用的对象表示方式,易于机器解析和处理,数据预处理装置102可以将文件以此种格式进行表示。为了讨论方便,下文中将每个文件经过数据预处理装置102所生成的格式统一的对象形式也称之为“文件对象”或者简称为“对象”。
可以理解,作为原始数据的文件与数据预处理装置102所生成的文件对象具有相互对应关系,该文件对象是对文件的对象表示。作为示例,XML或JSON形式的文件对象可以包括相对应文件的元数据,其描述文件相关信息,包括例如描述性元素、技术性元素、管理性元素、结构性元素等,这些元素例如作者、标题、主题、位置等简单信息,还可以包括内容、载体、位置与获取方式、制作与利用方法等,还可以包括文件的存储和使用管理相关信息,例如存储/更新时间、容量大小、详细的格式信息、制作信息、保护条件、转换方式、权利管理、电子签名等等,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能,帮助检索和确认所需要的文件资源。这些元数据可由数据预处理装置102自动生成,也可由管理用户添加,并最终形成统一格式的对象表示文件。
信息库104可以存储文件以及经过数据与处理装置102处理的具有统一格式表示的文件对象。对象分类装置106将来自信息库104的待搜索的对象划分到不同的类别中,使得这些待检索的内容被切分为多个更小的处理集合(即类别)。也就是说,对象分类装置106实现了将对象归入不同类别的“路由”的功能。此后,通过按照类别来为对象建立索引,可以使检索更有效、响应更快。而且,通过对不同类别中的数据进行隔离,有助于容错处理。例如当部分数据发生意料之外的问题(例如崩溃修复或重建)时减小影响。
对象索引装置108根据配置对每个类别的对象进行例如组词、语义分析等处理,建立索引并将索引数据存储到索引库110中。检索处理装置112响应于最终用户的检索请求,查询索引库110和信息库104进行检索处理,可能的,其还对索引的对象进行其他智能处理。
可以理解,搜索处理系统100中的数据预处理装置102、对象分类装置106、对象索引装置108以及检索处理装置112均可实现为独立的装置,也可以组合为一个或多个装置。另外,搜索处理系统100中的信息库104和索引库110同样仅是示例,其可以为独立的数据库,也可以组合为一个数据库,或者可选地与搜索处理系统100中的其他数据库进行合并等。可以理解,搜索处理系统100对原始数据文件进行各种处理将形成多种不同的形式的“文件”,它们在信息库104和索引库110或者其他数据库中存在不同“版本”,但都由相应的映射关系对应于原始数据文件。
图2示出了根据本公开的实施例的用于处理待搜索的对象的方法200的流程图。首先,在步骤202,接收指示与待搜索的对象有关的约束的输入(称为“第一输入”)。在某些实施例中,与待搜索的对象有关的约束可以包括与单个对象的属性相关的约束,例如这些属性为对象的元数据所描述的属性。备选地或附加地,约束可以涉及从搜索处理系统100角度而言与所有对象的类别相关的约束,例如每个类别中的对象数目,等等。
在步骤204,接收指示对象所属的类别的输入(称为“第二输入”),确定期望该对象被划分到的类别。也就是说,第二输入指示了当对象满足第一输入所指定的约束时,应当被划分或者说路由到哪个类别中。
接下来,在步骤206,基于第一输入和第二输入,创建将约束与类别相关联的分类条件。这个分类条件可以被保存为用于对象分类的分类策略的一部分。这样的分类策略可以随后被用来将实际待处理的对象划分到相应的类别中,以便基于类别为待搜索对象建立索引。
在本公开的实施例中,分类策略以及其中的分类条件可以被存储为配置文件,例如XML文件。这些XML文件可以被用作配置文件。应当理解,这仅仅是示例性的,对象分类策略可以被保存为任何其他形式的文件,例如JSON文件,等等。下面的表1示出了一个XLM文件形式的分类策略的一部分。
表1
在表1的示例中,包括一个分类条件及缺省类别,该分类条件将约束(即condition="")与类别(即collection="")相关联。在该示例中,约束与待搜索的对象的属性有关。另外配置了一个缺省分类(这里是default),在对象不满足分类条件时,对象将被划分到该缺省类别中。
为了便于理解图2中所示的方法200,下面将描述若干示例。可以理解,以下描述仅作为示例给出,本领域技术人员通过阅读可以得到本公开的构思,但本公开并不限于所给出的示例分类条件。
如以上所描述,对象的元数据可以是描述性元素、技术性元素、管理性元素、结构性元素等。在本公开的一个实施例中,与待搜索的对象有关的约束涉及对象的元数据,表2给出了一个这样的示例。
表2
表2的示例包括与元数据“file_store”有关的两个分类条件。具体而言,一个分类条件规定:如果对象的元数据“file_store”满足condition="file_store_01"这一约束,就将该对象划分到“collection1”这一类别中。为了创建该分类条件,根据方法200,用户可以在步骤202和204分别输入约束“file_store_01”和类别“collection1”,以便在步骤206创建分类条件<rule condition="file_store_01"collection="collection1"/>。类似地,用户可以通过方法200创建另一分类条件,其规定:如果对象的“file_store”等于“field_store_02”,则对象将被划分到“collection2”。特别地,在上述示例中,如果到来的对象的元数据值不匹配这两个分类条件,该对象将被划分到缺省集合(这里是“default”)。
对象分类装置106在对对象划分时的值的比较可以是大小写敏感的,为了更方便管理用户配置,还可以在一个约束中使用分隔符来配置多个约束。表3示出了一个这样的示例。
表3
表3的示例中,在其中的一个分类条件中采用了分隔符,可以将例如对象的元数据的大小写组合项合并在一个分类条件中。具体而言,“file_store_01”和“file_store_02”可以是对应于元数据值的不同大小写组合,如果对象的“file_store”等于“file_store_01”或者“file_store_02”,则对象将被划分到“collection1”。
在另一个示例中,与待搜索的对象有关的约束涉及元数据的范围。例如,如果管理用户希望根据对象的内容大小来划分对象,那么可以如以下配置。
表4
表4的示例包括与元数据“r_content_size”有关的两个分类条件,并且规定了元数据值类型为整数(Integer)以及值范围分隔符的形式。具体而言,一个分类条件规定:如果对象的元数据“r_content_size”满足condition="40000~80000"这一约束,即对象的内容大小处于40000~80000之间时,就将该对象划分到“collection1”这一类别中。为了创建该分类条件,根据方法200,用户可以在步骤202和204分别输入约束“40000~80000”和类别“collection1”,以便在步骤206创建分类条件<rule condition="40000~80000""collection="collection1""/>。类似地,用户可以通过方法200创建另一分类条件,其规定:如果对象的“r_content_size”处于80000~100000之间,则对象将被划分到“collection2”。同样,对未被分类条件覆盖的对象,缺省类别(这里是“default”)将被使用。
在分类条件的约束涉及元数据的范围时,配置的分类条件可以是包容性的,即如果一个对象可以满足两个分类条件,那么将使用第一分类条件。比如在示例中,如果一个对象的内容大小是8000,那么它将被划分到“collection1”。
通常配置中字符串是值对比的缺省类型。如果管理用户希望定义非字符串类型,可以在属性部分规定值类型(value-type),例如整数(Integer)、双字节(Double)、时间(Datetime)等。对于时间,可以统一为UTC时间("yyyy-MM-dd'T'HH:mm:ss")。如果形成的文件对象的元数据没有被正确地使用数据格式,比如将字符串放入整数类型,值对比将退回到使用字符串比较以确定分类。
如果管理用户对元数据有某些特殊需求,可以考虑使用元数据的常规表达式来规定分类的约束。以下是一个示例。
表5
表5的示例包括与元数据“object_name”有关的两个分类条件。具体而言,一个分类条件规定:如果对象的元数据“object_name”满足condition="per."这一约束,即“object_name”以“per”开始,就将该对象划分到“collection1”这一类别中。为了创建该分类条件,根据方法200,用户可以在步骤202和204分别输入约束“per.”和类别“collection1”,以便在步骤206创建分类条件<rule condition="per."collection="collection1"/>。类似地,用户可以通过方法200创建另一分类条件,其规定:如果对象的“object_name”以“ber”开始,则对象将被划分到“collection2”。特别地,在上述示例中,如果到来的对象的元数据值不匹配这两个分类条件,该对象将被划分到缺省集合(这里是“default”)。可以理解,表5仅是给出使用常规表达式的一个示例,在诸如该示例的使用元数据的常规表达式来规定分类的约束中,可以通过模糊而非精确的分类匹配而将对象分类,以满足管理用户的需要。
对于一些复杂的情形,例如管理用户希望根据多个路径路由对象,可以使用描述对象元数据的位置的结构化语句。这种结构化语句的一个例子是XPath。XPath是W3C标准,下面将以其为例来描述一个示例实施例。以下是配置示例。
表6
表6的示例包括与元数据“i_folder_id”和“owner_name”有关的两个分类条件。具体而言,一个分类条件规定:XML文件根元素“/dmftdoc”下所有子元素“i_folder_id”中,满足与“345678”相等这一约束的对象均划分到“collection1”这一类别中。为了创建该分类条件,根据方法200,用户可以在步骤202和204分别输入约束“boolean(/dmftdoc//i_folder_id='3456789')”和类别“collection1”,以便在步骤206创建分类条件<rulecondition="boolean(/dmftdoc//i_folder_id='3456789')"collection="collection1"/>。类似地,用户可以通过方法200创建另一分类条件,其规定:XML文件根元素“/dmftdoc”下所有子元素“i_folder_id”和“owner_name”中,如果对象的“i_folder_id”等于456789并且其“owner_name”等于“test”,则对象将被划分到“collection2”。特别地,在上述示例中,如果到来的对象的元数据值不匹配这两个分类条件,该对象将被划分到缺省集合(这里是“default”)。可以通过构造XPath配置复杂的分类条件,例如按照XPath规范基于多个元数据来划分类别。
备选地或附加地,可以使用描述涉及对象元数据的查询的结构化语句来划分对象。这种结构化语句的一个示例是XQuery。XQuery也是W3C标准,可以被用于执行强大的查询。以下是根据XQuery的划分对象的配置示例。
表7
表7的示例包括与元数据“object_name”和“key_words”有关的两个分类条件。具体而言,一个分类条件规定:XML文档根元素“/dmftdoc”下,如果对象满足“object_name”包含“test1234”这一约束,就将该对象划分到“collection1”这一类别中。为了创建该分类条件,根据方法200,用户可以在步骤202和204分别输入约束“boolean(/dmftdoc[dmftmetadata//object_name contains text‘test1234’])"和类别“collection1”,以便在步骤206创建分类条件<rulecondition="boolean(/dmftdoc[dmftmetadata//object_name contains text‘test1234’])"collection="collection1"/>。类似地,用户可以通过方法200创建另一分类条件,其规定:XML文档根元素“/dmftdoc”下,如果对象“object_name”包含“test3456”以及“key_words”包含“testing”,则对象将被划分到“collection2”。特别地,在上述示例中,如果到来的对象的元数据值不匹配这两个分类条件,该对象将被划分到缺省集合(这里是“default”)。
按照以上分类策略进行划分,在带来高效的同时,也带来了管理上的成本。按照以上分类策略,会导致各个类别的大小不平均,而对应的划分过程,也会带来各个类别的访问量不平均。这两个维度不平均就要求更加复杂的索引部署方案,因此还可以基于类别的动态统计来确定分类策略。例如分类条件可以涉及类别的属性,如类别中包含的对象的数目或者类别中包含的对象占用的存储空间的大小。
为此,除了对象元数据之外或者作为替代,在对象分类中,与类别有关的信息也可以被纳入考虑。作为示例,在一个实施例中,在为对象分类时,可以保持每个类别具有相同或者近似的对象数目。备选地或附加地,在一些实施例中,可以在对象分类时使每个类别的具有近似的存储大小。配置示例如下:
表8
表8的示例中,上述两个分类条件都被配置(即值都为“true”),这时将使用第一分类条件(“weight-collection-size”)即保持每个类别具有近似的对象数目。当然,可以仅配置其中之一。
如果上述分类策略不能满足管理用户的需求,那么管理用户可以配置自定义的划分。以下是一个实现和配置示例。
表9
表9的示例中,自定义了类“MyRoutingExample”,规定了分类涉及的对有关的属性并规定了两个分类条件。作为示例,“my_field”包含“test12345”的文件将被划分到“collection1”,包含“test3456”的文件将被划分到“collection2”。还可以简单地将“contains”变为“startsWith”或“endsWith”等改变操作符等。这种情况下应该实现类MyRoutingExample以支持所期望的逻辑并将上述配置放入例如对象分类装置106中以保证按照所期望的分类划分进行工作。
通过以上示例示出了本公开的几种分类策略。管理用户只需要设置配置项即可。这种设置可以手动进行,也可以根据提供的用户输入界面进行。显然的,分类策略的配置是需要根据应用场景缜密考虑的,例如对于分类策略中约束的选取、分类条件的先后顺序等,这将直接影响到分类和检索效果。
完成配置之后,分类策略例如可以保存为配置文件。对象分类装置106可以对对象进行划分操作。图3示出了根据本公开实施例的为待搜索对象建立索引的方法300的流程图。在步骤302,接收到待搜索的对象。这些对象可以具有统一格式例如XML的包含元数据的文件,其存储在信息库104中。然后,在步骤304,获取包括一组分类条件的分类策略,分类条件将一组约束与相应的类别相关联。如上所描述,可以按照方法200根据业务需要,按照所期望的对象分类或路由目标,建立分类策略。在一个如上述的实施例中,分类策略形成XML配置文件,对象分类装置106可以获取包含分类策略的配置文件。在步骤306,通过匹配分类策略中的分类条件中的约束,将对象划分到类别中的一个类别,以用于建立搜索索引。对于待搜索的对象,根据分类条件,逐一划分到相应的类别,以便对象索引装置108对其进行进一步的处理和建立索引。以下结合图4进一步进行说明。
图4示出了根据本公开的一个实施例的为待搜索对象建立索引的方法的流程图。在步骤401,接收到待搜索的对象,之后例如对象分类装置106在步骤402获得如以上所描述建立的分类策略并进行解析分类策略也即匹配分类策略中的分类条件中的约束。如果约束涉及对象的元数据,则进行到步骤403,获取对象的元数据。对象的元数据存在于对象的元数据文件(即文件对象)中,例如如上所述的存储在信息库104中XML文件中,因此对象分类装置106可以从信息库104中获得对象的元数据。然后,在步骤404,基于配置的分类策略,将对象的元数据与分类条件中的约束进行匹配,并且响应于匹配结果,将对象划分到分类策略中配置的类别中。基于对象的分类类别,对象索引装置108可以为对象建立搜索索引。
如果分类策略中涉及划分的类别的属性,例如如上所描述的一个示例中,"weight-collection-size"对应的值配置为"true",也即分类条件涉及类别中包含的对象的数目,则进行到步骤405。在步骤405中,统计并确定类别中目前包含的对象的数目,以根据类别的“承载”对象数量情况进行对象的划分或路由,进而平衡类别中对象的多少,以简化对象索引部署及提升检索效率。随后在步骤406,可以根据类别中包含对象数目的预定阈值来进行对象的划分或路由,其中一种方式可以是基于最少原则,也即当前类别中对象数目最少的类别为对象划分的目标类别。替选地,可以预定类别中包括对象数目的阈值,对于小于该阈值的类别,基于合适的甚至随机的方式将到来的对象划分或路由到这些类别中。基于对象的分类类别,对象索引装置108可以为对象建立搜索索引。
另一方面,如果分类策略中涉及划分的类别的属性,例如如上所描述的一个示例中,"weight-storage-size"对应的值配置为"true",也即分类条件涉及类别中包含的对象占用的存储空间的大小,则进行到步骤407。在步骤407中,统计并确定类别中目前包含的对象占用的存储空间的大小,以根据类别的“承载”存储大小情况进行对象的划分或路由,进而平衡类别中存储空间的多少,以简化对象索引部署及提升检索效率。随后在步骤408,可以根据类别中包含对象占用的存储空间的大小的预定阈值来进行对象的划分或路由,其中一种方式可以是基于最小原则,也即当前类别中对象占用的存储空间的大小最小的类别为对象划分的目标类别。替选地,可以预定类别中包括对象占用的存储空间的大小的阈值,对于小于该阈值的类别,基于合适的甚至随机的方式将到来的对象划分或路由到这些类别中。基于对象的分类类别,对象索引装置108可以为对象建立搜索索引。
上述方法200、300和400可以由对象分类装置106来实施,可选地,至少一部分可被实现为软件模块。图5示出了一个可以用来实施本公开的实施例的设备500的示意性框图。设备500可以充当用于一种对象分类设备例如包括上文描述的对象分类装置106。
如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200、300以及400,可由处理单元501执行。例如,在一些实施例中,方法300以及400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序被加载到RAM 503并由CPU 501执行时,可以执行上文描述的方法200、300以及400的一个或多个步骤。
通过以上描述和相关附图中所给出的教导,这里所给出的本公开的许多修改形式和其它实施方式将被本公开相关领域的技术人员所意识到。因此,所要理解的是,本公开的实施方式并不局限于所公开的具体实施方式,并且修改形式和其它实施方式意在包括在本公开的范围之内。此外,虽然以上描述和相关附图在部件和/或功能的某些示例组合形式的背景下对示例实施方式进行了描述,但是应当意识到的是,可以由备选实施方式提供部件和/或功能的不同组合形式而并不背离本公开的范围。就这点而言,例如,与以上明确描述的有所不同的部件和/或功能的其它组合形式也被预期处于本公开的范围之内。虽然这里采用了具体术语,但是它们仅以一般且描述性的含义所使用而并非意在进行限制。
Claims (24)
1.一种用于处理待搜索的对象的方法,包括:
接收指示与所述对象有关的约束的第一输入;
接收指示所述对象所属的类别的第二输入;以及
基于所述第一输入和所述第二输入,创建将所述约束与所述类别相关联的分类条件以作为分类策略的一部分,所述分类策略用于将所述对象划分到所述类别以建立索引。
2.根据权利要求1所述的方法,其中所述约束涉及所述对象的元数据,所述元数据描述所述对象的属性。
3.根据权利要求2所述的方法,其中所述约束涉及以下至少一项:所述元数据的范围、所述元数据的表达式。
4.根据权利要求3所述的方法,其中所述元数据的表达式包括以下至少一项:
描述所述元数据的位置的结构化语句,以及
描述涉及所述元数据的查询的结构化语句。
5.根据权利要求1所述的方法,其中所述约束涉及所述类别的属性。
6.根据权利要求5所述的方法,其中所述类别的所述属性包括以下至少一个:
所述类别中包含的对象的数目;以及
所述类别中包含的对象占用的存储空间的大小。
7.根据权利要求1所述的方法,进一步包括:
接收修改所述分类条件的第三输入;以及
响应于接收到所述第三输入,修改所述分类条件。
8.一种用于为待搜索的对象建立索引的方法,包括:
接收到待搜索的对象;
获取包括一组分类条件的分类策略,所述分类条件将一组约束与相应的类别相关联;以及
通过匹配所述分类策略中的所述分类条件中的所述约束,将所述对象划分到所述类别中的一个类别,以用于建立搜索索引。
9.根据权利要求8所述的方法,其中所述约束涉及所述对象的元数据,所述元数据描述所述对象的属性,并且将所述对象划分到一个类别包括:
获取所述对象的所述元数据;
通过将所述元数据与所述分类条件中的所述约束进行匹配,将所述对象划分到所述类别。
10.根据权利要求8所述的方法,其中所述约束涉及所述类别的属性,所述方法进一步包括:
确定所述类别中目前包含的对象的数目;以及
将所述对象划分到所述类别中包含对象的所述数目小于预定阈值的类别。
11.根据权利要求8所述的方法,其中所述约束涉及所述类别的属性,所述方法进一步包括:
确定所述类别中目前包含的对象占用的存储空间的大小;以及
将所述对象划分到所述类别中包含对象占用的存储空间的大小小于预定阈值的类别。
12.一种用于处理待搜索的对象的设备,包括:
至少一个处理器,被配置为:
接收指示与所述对象有关的约束的第一输入;
接收指示所述对象所属的类别的第二输入;以及
基于所述第一输入和所述第二输入,创建将所述约束与所述类别相关联的分类条件以作为分类策略的一部分,所述分类策略用于将所述对象划分到所述类别以建立索引。
13.根据权利要求12所述的设备,其中所述约束涉及所述对象的元数据,所述元数据描述所述对象的属性。
14.根据权利要求13所述的设备,其中所述约束涉及以下至少一项:所述元数据的范围、所述元数据的表达式。
15.根据权利要求14所述的设备,其中所述元数据的表达式包括以下至少一项:
描述所述元数据的位置的结构化语句,以及
描述涉及所述元数据的查询的结构化语句。
16.根据权利要求12所述的设备,其中所述约束涉及所述类别的属性。
17.根据权利要求16所述的设备,其中所述类别的所述属性包括以下至少一个:
所述类别中包含的对象的数目;以及
所述类别中包含的对象占用的存储空间的大小。
18.根据权利要求12所述的设备,所述至少一个处理器还被配置为:
接收修改所述分类条件的第三输入;以及
响应于接收到所述第三输入,修改所述分类条件。
19.一种用于为待搜索的对象建立索引的设备,包括:
至少一个处理器,被配置为:
接收到待搜索的对象;
获取包括一组分类条件的分类策略,所述分类条件将一组约束与相应的类别相关联;以及
通过匹配所述分类策略中的所述分类条件中的所述约束,将所述对象划分到所述类别中的一个类别,以用于建立搜索索引。
20.根据权利要求19所述的设备,其中所述约束涉及所述对象的元数据,所述至少一个处理器还被配置为:
获取所述对象的所述元数据;
通过将所述元数据与所述分类条件中的所述约束进行匹配,将所述对象划分到所述类别。
21.根据权利要求19所述的设备,其中所述约束涉及所述类别的属性,所述至少一个处理器还被配置为:
确定所述类别中目前包含的对象的数目;以及
将所述对象划分到所述类别中包含对象的所述数目小于预定阈值的类别。
22.根据权利要求19所述的设备,其中所述约束涉及所述类别的属性,所述至少一个处理器还被配置为:
确定所述类别中目前包含的对象占用的存储空间的大小;以及
将所述对象划分到所述类别中包含对象占用的存储空间的大小小于预定阈值的类别。
23.一种计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求1到7中任一项所述的方法的步骤。
24.一种计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求8到11中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610154618.2A CN107203557A (zh) | 2016-03-17 | 2016-03-17 | 用于处理待搜索的对象的方法及装置 |
US15/461,655 US20170270184A1 (en) | 2016-03-17 | 2017-03-17 | Methods and devices for processing objects to be searched |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610154618.2A CN107203557A (zh) | 2016-03-17 | 2016-03-17 | 用于处理待搜索的对象的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107203557A true CN107203557A (zh) | 2017-09-26 |
Family
ID=59847188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610154618.2A Pending CN107203557A (zh) | 2016-03-17 | 2016-03-17 | 用于处理待搜索的对象的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170270184A1 (zh) |
CN (1) | CN107203557A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11658982B2 (en) * | 2017-10-06 | 2023-05-23 | Red Hat, Inc. | Efficient authentication in a file system with multiple security groups |
CN108509478B (zh) * | 2017-11-23 | 2021-04-27 | 平安科技(深圳)有限公司 | 规则引擎文件的拆分调用方法、电子装置及存储介质 |
US11429583B2 (en) * | 2018-04-30 | 2022-08-30 | Innoplexus Ag | System and method of creating database arrangement |
US11669555B2 (en) * | 2018-04-30 | 2023-06-06 | Innoplexus Ag | System and method of creating index |
US11238107B2 (en) * | 2020-01-06 | 2022-02-01 | International Business Machines Corporation | Migrating data files to magnetic tape according to a query having one or more predefined criterion and one or more query expansion profiles |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130218A1 (en) * | 2004-11-17 | 2007-06-07 | Steven Blumenau | Systems and Methods for Roll-Up of Asset Digital Signatures |
CN101546342A (zh) * | 2009-05-08 | 2009-09-30 | 阿里巴巴集团控股有限公司 | 实现搜索服务的方法与系统 |
CN101876994A (zh) * | 2009-12-22 | 2010-11-03 | 中国科学院软件研究所 | 一种多层次优化的策略评估引擎的建立方法及其实施方法 |
US20140181071A1 (en) * | 2011-08-30 | 2014-06-26 | Patrick Thomas Sidney Pidduck | System and method of managing capacity of search index partitions |
CN104981802A (zh) * | 2013-02-27 | 2015-10-14 | 日立数据系统有限公司 | 针对对象存储器索引系统的内容类别 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374253B1 (en) * | 1998-12-30 | 2002-04-16 | Microsoft Corporation | System and method for generating hierarchical forward knowledge |
US7136883B2 (en) * | 2001-09-08 | 2006-11-14 | Siemens Medial Solutions Health Services Corporation | System for managing object storage and retrieval in partitioned storage media |
US7539706B1 (en) * | 2004-03-30 | 2009-05-26 | Emc Corporation | Methods and apparatus for collecting and processing file system data |
JP2008521139A (ja) * | 2004-11-17 | 2008-06-19 | アバレア, インコーポレイテッド | デジタル資産を管理するシステムおよび方法 |
US7529769B1 (en) * | 2006-07-21 | 2009-05-05 | Cap Epsilon, Inc. | Data partitioning in multiple databases |
US20080082554A1 (en) * | 2006-10-03 | 2008-04-03 | Paul Pedersen | Systems and methods for providing a dynamic document index |
US7949848B2 (en) * | 2007-03-08 | 2011-05-24 | Arm Limited | Data processing apparatus, method and computer program product for reducing memory usage of an object oriented program |
US8364677B2 (en) * | 2008-08-01 | 2013-01-29 | International Business Machines Corporation | Method and apparatus for generating partitioning keys for a range-partitioned database |
US8732139B2 (en) * | 2008-12-18 | 2014-05-20 | Sap Ag | Method and system for dynamically partitioning very large database indices on write-once tables |
US8930332B2 (en) * | 2010-03-12 | 2015-01-06 | Salesforce.Com, Inc. | Method and system for partitioning search indexes |
WO2012072879A1 (en) * | 2010-11-30 | 2012-06-07 | Nokia Corporation | Method and apparatus for updating a partitioned index |
US9183239B2 (en) * | 2012-12-04 | 2015-11-10 | Linkedin Corporation | Optimizing a content index for target audience queries |
US9378065B2 (en) * | 2013-03-15 | 2016-06-28 | Advanced Elemental Technologies, Inc. | Purposeful computing |
CN103631887B (zh) * | 2013-11-15 | 2017-04-05 | 北京奇虎科技有限公司 | 浏览器侧进行网络搜索的方法与浏览器 |
US10140343B2 (en) * | 2015-02-09 | 2018-11-27 | Ca, Inc. | System and method of reducing data in a storage system |
US20160285918A1 (en) * | 2015-03-29 | 2016-09-29 | Whitebox Security Ltd. | System and method for classifying documents based on access |
US10248337B2 (en) * | 2015-12-08 | 2019-04-02 | Ultrata, Llc | Object memory interfaces across shared links |
-
2016
- 2016-03-17 CN CN201610154618.2A patent/CN107203557A/zh active Pending
-
2017
- 2017-03-17 US US15/461,655 patent/US20170270184A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130218A1 (en) * | 2004-11-17 | 2007-06-07 | Steven Blumenau | Systems and Methods for Roll-Up of Asset Digital Signatures |
CN101546342A (zh) * | 2009-05-08 | 2009-09-30 | 阿里巴巴集团控股有限公司 | 实现搜索服务的方法与系统 |
CN101876994A (zh) * | 2009-12-22 | 2010-11-03 | 中国科学院软件研究所 | 一种多层次优化的策略评估引擎的建立方法及其实施方法 |
US20140181071A1 (en) * | 2011-08-30 | 2014-06-26 | Patrick Thomas Sidney Pidduck | System and method of managing capacity of search index partitions |
CN104981802A (zh) * | 2013-02-27 | 2015-10-14 | 日立数据系统有限公司 | 针对对象存储器索引系统的内容类别 |
Also Published As
Publication number | Publication date |
---|---|
US20170270184A1 (en) | 2017-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599714B2 (en) | Methods and systems for modeling complex taxonomies with natural language understanding | |
US11853334B2 (en) | Systems and methods for generating and using aggregated search indices and non-aggregated value storage | |
CN107203557A (zh) | 用于处理待搜索的对象的方法及装置 | |
JP5092165B2 (ja) | データ構築方法とシステム | |
US20110295823A1 (en) | Method and apparatus for modeling relations among data items | |
US8799274B2 (en) | Topic map for navigation control | |
Qamar et al. | A majority vote based classifier ensemble for web service classification | |
US20150066977A1 (en) | Method and system for managing digital resources | |
CN106503274A (zh) | 一种数据整合与搜索方法及服务器 | |
CN107870915A (zh) | 对搜索结果的指示 | |
López et al. | An efficient and scalable search engine for models | |
CN103927177A (zh) | 基于LDA模型和PageRank算法建立特征接口有向图的方法 | |
Liu et al. | Radar station: Using kg embeddings for semantic table interpretation and entity disambiguation | |
JP2003223390A (ja) | データ抽出・構造変換処理プログラム、コンテンツ生成処理プログラム、データ抽出・構造変換処理プログラム記録媒体、コンテンツ生成処理プログラム記録媒体、およびコンテンツ再構築処理システム | |
CN105488170B (zh) | 一种erp系统的信息管理方法及装置 | |
US11669555B2 (en) | System and method of creating index | |
US20230142351A1 (en) | Methods and systems for searching and retrieving information | |
CN113407782A (zh) | 一种基于MapReduce的分布式XSLT处理方法及处理系统 | |
Hirchoua et al. | Topic hierarchies for knowledge capitalization using hierarchical Dirichlet processes in big data context | |
Sánchez-Sánchez et al. | N-gram representation for web service description classification | |
Kásler et al. | Framework for semi automatically generating topic maps | |
Khatai et al. | An implementation of text mining decision feedback model using Hadoop MapReduce | |
Thiombiano et al. | Discovery and enrichment of knowledges from a semantic wiki | |
Jeon et al. | Random forest algorithm for linked data using a parallel processing environment | |
Katsadaki et al. | Topic modeling and association rule mining to discover geospatial semantic information from unstructured data sources |
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: 20200409 Address after: Massachusetts, USA Applicant after: EMC IP Holding Company LLC Address before: Ma Sazhusaizhou Applicant before: EMC Corp. |