CN105843867B - 基于元数据模型的检索方法和基于元数据模型的检索装置 - Google Patents
基于元数据模型的检索方法和基于元数据模型的检索装置 Download PDFInfo
- Publication number
- CN105843867B CN105843867B CN201610154457.7A CN201610154457A CN105843867B CN 105843867 B CN105843867 B CN 105843867B CN 201610154457 A CN201610154457 A CN 201610154457A CN 105843867 B CN105843867 B CN 105843867B
- Authority
- CN
- China
- Prior art keywords
- metadata
- index
- field
- schema
- customer documentation
- 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.)
- Active
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于元数据模型的检索方法和一种基于元数据模型的检索装置,其中,基于元数据模型的检索方法包括:通过元数据模型将用户文档中的字段映射为索引字段;对所述索引字段进行schema动态匹配,得到查询结果文档;通过所述元数据模型将所述查询结果文档映射到所述用户文档的字段中。通过本发明的技术方案,在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种基于元数据模型的检索方法和一种基于元数据模型的检索装置。
背景技术
目前,检索的作用就是在用户给定一个关键词的前提下,检索并给出用户最想要的内容。但是随着云应用技术的发展,部署在云端的应用也越来越多,与此同时,伴随着用户数量的增长,应用的数据也越来越多,单纯使用数据库中的检索功能,不仅效果不好,还会影响数据库的其它功能的使用,为此,开发者一般使用独立服务器单独搭建搜索服务。
然而,在这种方案中,单个应用的部署和维护成本又太高,开发需要的时间和精力太多,在云端环境中,如果各个应用的开发者都使用自己的服务,撇开部署集群要使用多台服务器不说,在开发过程中,用户需要保持应用的信息与solr(一种独立的企业级搜索应用)的schema(可扩展标记语言架构)定义的字段保持一致,在应用发生变化时,需要同步修改集群中的schema相关信息,并重载加载修改过的配置,这个过程极为复杂,如果漏掉其中的某个步骤,就会导致更新索引和查询失败。
因此需要一种新的技术方案,可以减少搜索更新复杂度的同时,使开发工作更加简单高效。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,可以减少搜索更新复杂度的同时,使开发工作更加简单高效。
有鉴于此,本发明的一方面提出了一种基于元数据模型的检索方法,包括:通过元数据模型将用户文档中的字段映射为索引字段;对所述索引字段进行schema动态匹配,得到查询结果文档;通过所述元数据模型将所述查询结果文档映射到所述用户文档的字段中。
在该技术方案中,可以solr(一种独立的企业级搜索应用)服务前端添加一个元数据层,用来管理元数据模型,其接受并保存用户定义的元数据,同时可以通知使用元数据的元数据层去数据库中加载最新的元数据,由于元数据层是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证。
这样,通过元数据模型可以将用户用于检索的字段映射为索引字段,再对索引字段进行schema(可扩展标记语言架构)动态匹配,从而完成检索,并且,可以将检索得到的查询结果文档继续经由元数据模型映射到用户文档的字段,完成检索步骤。通过该技术方案,在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
在上述技术方案中,优选地,所述元数据模型为客户端的应用程序接口与索引服务器之间的元数据层,所述用户文档来自所述客户端,所述schema动态匹配的服务由所述索引服务器提供。
在该技术方案中,用户文档中具有客户端的用户用于检索的字段,solr(一种独立的企业级搜索应用)服务前端添加有一个元数据层,用来管理元数据模型,其接受并保存用户定义的元数据,同时可以通知使用元数据的元数据层去数据库中加载最新的元数据,由于元数据层是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证,从而在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度。
在上述任一技术方案中,优选地,所述通过元数据模型将用户文档中的字段映射为索引字段,具体包括:根据所述元数据模型,确定所述用户文档所需的元数据,并在预设元数据库中为所述用户文档调用所述所需的元数据,其中,所述用户文档所需的元数据为所述用户文档到所述索引服务器的索引文档的映射关系。
在该技术方案中,可以根据元数据层中的用户文档所需的元数据进行映射,使得用户文档中的字段可以映射为索引字段,从而进一步通过索引字段进行schema动态匹配,从而完成检索。
在上述任一技术方案中,优选地,还包括:根据来自所述客户端的注解,为所述元数据模型定义全量元数据,并将定义的所述全量元数据同步更新至所述索引服务器;和/或根据来自所述客户端或所述索引服务器的修改命令,修改所述元数据模型的元数据。
在该技术方案中,元数据的管理分为查询与更新两种,更新时又可分为全量更新和增量更新两种,其中,全量更新即通过客户端使用注解来定义全量元数据,同时在索引服务器启动时,将元数据更新到索引服务器,增量更新即根据来自客户端的应用程序接口或者服务端的网页界面的修改命令修改元数据中的相关内容。通过对元数据的更新,可不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
在上述任一技术方案中,优选地,所述元数据模型包括文档模型和字段模型,其中,所述文档模型包括:文档类型、文档所属域和文档包含的字段属性集合,所述字段模型包括:所述用户文档的字段名称、索引类型和其他属性,所述其他属性包括:是否保存、是否索引、是否为拼音、是否为多值、是否为唯一和是否为只读。
在该技术方案中,元数据是关于数据的描述性数据信息,用来定义用户文档到索引文档的一个映射关系,它有文档模型和字段模型两种。其中,文档模型包含了文档类型、文档所属域和文档包含的字段属性集合。字段模型包含了用户文档的字段名称、索引类型、是否保存、是否索引、是否拼音、是否多值、是否唯一和是否只读。其中,索引类型指的是字段在建索引和查询过程中使用的分词器类型,是否只读指的是限制某些字段写属性或者只能由后端服务来进行相应的更新。
本发明的另一方面提出了一种基于元数据模型的检索装置,包括:索引字段映射单元,通过元数据模型将用户文档中的字段映射为索引字段;动态匹配单元,对所述索引字段进行schema动态匹配,得到查询结果文档;查询结果映射单元,通过所述元数据模型将所述查询结果文档映射到所述用户文档的字段中。
在该技术方案中,可以solr(一种独立的企业级搜索应用)服务前端添加一个元数据层,用来管理元数据模型,其接受并保存用户定义的元数据,同时可以通知使用元数据的元数据层去数据库中加载最新的元数据,由于元数据层是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证。
这样,通过元数据模型可以将用户用于检索的字段映射为索引字段,再对索引字段进行schema(可扩展标记语言架构)动态匹配,从而完成检索,并且,可以将检索得到的查询结果文档继续经由元数据模型映射到用户文档的字段,完成检索步骤。通过该技术方案,在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
在上述技术方案中,优选地,所述元数据模型为客户端的应用程序接口与索引服务器之间的元数据层,所述用户文档来自所述客户端,所述schema动态匹配的服务由所述索引服务器提供。
在该技术方案中,用户文档中具有客户端的用户用于检索的字段,solr(一种独立的企业级搜索应用)服务前端添加有一个元数据层,用来管理元数据模型,其接受并保存用户定义的元数据,同时可以通知使用元数据的元数据层去数据库中加载最新的元数据,由于元数据层是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证,从而在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度。
在上述任一技术方案中,优选地,所述索引字段映射单元具体用于:根据所述元数据模型,确定所述用户文档所需的元数据,并在预设元数据库中为所述用户文档调用所述所需的元数据,其中,所述用户文档所需的元数据为所述用户文档到所述索引服务器的索引文档的映射关系。
在该技术方案中,可以根据元数据层中的用户文档所需的元数据进行映射,使得用户文档中的字段可以映射为索引字段,从而进一步通过索引字段进行schema动态匹配,从而完成检索。
在上述任一技术方案中,优选地,还包括:全量更新单元,根据来自所述客户端的注解,为所述元数据模型定义全量元数据,并将定义的所述全量元数据同步更新至所述索引服务器;和/或增量更新单元,根据来自所述客户端或所述索引服务器的修改命令,修改所述元数据模型的元数据。
在该技术方案中,元数据的管理分为查询与更新两种,更新时又可分为全量更新和增量更新两种,其中,全量更新即通过客户端使用注解来定义全量元数据,同时在索引服务器启动时,将元数据更新到索引服务器,增量更新即根据来自客户端的应用程序接口或者服务端的网页界面的修改命令修改元数据中的相关内容。通过对元数据的更新,可不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
在上述任一技术方案中,优选地,所述元数据模型包括文档模型和字段模型,其中,所述文档模型包括:文档类型、文档所属域和文档包含的字段属性集合,所述字段模型包括:所述用户文档的字段名称、索引类型和其他属性,所述其他属性包括:是否保存、是否索引、是否为拼音、是否为多值、是否为唯一和是否为只读。
在该技术方案中,元数据是关于数据的描述性数据信息,用来定义用户文档到索引文档的一个映射关系,它有文档模型和字段模型两种。其中,文档模型包含了文档类型、文档所属域和文档包含的字段属性集合。字段模型包含了用户文档的字段名称、索引类型、是否保存、是否索引、是否拼音、是否多值、是否唯一和是否只读。其中,索引类型指的是字段在建索引和查询过程中使用的分词器类型,是否只读指的是限制某些字段写属性或者只能由后端服务来进行相应的更新。
通过以上技术方案,在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
附图说明
图1示出了根据本发明的一个实施例的基于元数据模型的检索方法的流程图;
图2示出了根据本发明的一个实施例的基于元数据模型的检索装置的框图;
图3示出了根据本发明的一个实施例的客户端、元数据层与索引集群的交互示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的基于元数据模型的检索方法的流程图。
如图1所示,根据本发明的一个实施例的基于元数据模型的检索方法,包括:
步骤102,通过元数据模型将用户文档中的字段映射为索引字段;
步骤104,对所述索引字段进行schema动态匹配,得到查询结果文档;
步骤106,通过所述元数据模型将所述查询结果文档映射到所述用户文档的字段中。
在该技术方案中,可以solr(一种独立的企业级搜索应用)服务前端添加一个元数据层,用来管理元数据模型,其接受并保存用户定义的元数据,同时可以通知使用元数据的元数据层去数据库中加载最新的元数据,由于元数据层是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证。
这样,通过元数据模型可以将用户用于检索的字段映射为索引字段,再对索引字段进行schema(可扩展标记语言架构)动态匹配,从而完成检索,并且,可以将检索得到的查询结果文档继续经由元数据模型映射到用户文档的字段,完成检索步骤。通过该技术方案,在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
在上述技术方案中,优选地,所述元数据模型为客户端的应用程序接口与索引服务器之间的元数据层,所述用户文档来自所述客户端,所述schema动态匹配的服务由所述索引服务器提供。
在该技术方案中,用户文档中具有客户端的用户用于检索的字段,solr(一种独立的企业级搜索应用)服务前端添加有一个元数据层,用来管理元数据模型,其接受并保存用户定义的元数据,同时可以通知使用元数据的元数据层去数据库中加载最新的元数据,由于元数据层是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证,从而在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度。
在上述任一技术方案中,优选地,步骤102具体包括:根据所述元数据模型,确定所述用户文档所需的元数据,并在预设元数据库中为所述用户文档调用所述所需的元数据,其中,所述用户文档所需的元数据为所述用户文档到所述索引服务器的索引文档的映射关系。
在该技术方案中,可以根据元数据层中的用户文档所需的元数据进行映射,使得用户文档中的字段可以映射为索引字段,从而进一步通过索引字段进行schema动态匹配,从而完成检索。
在上述任一技术方案中,优选地,还包括:根据来自所述客户端的注解,为所述元数据模型定义全量元数据,并将定义的所述全量元数据同步更新至所述索引服务器;和/或根据来自所述客户端或所述索引服务器的修改命令,修改所述元数据模型的元数据。
在该技术方案中,元数据的管理分为查询与更新两种,更新时又可分为全量更新和增量更新两种,其中,全量更新即通过客户端使用注解来定义全量元数据,同时在索引服务器启动时,将元数据更新到索引服务器,增量更新即根据来自客户端的应用程序接口或者服务端的网页界面的修改命令修改元数据中的相关内容。通过对元数据的更新,可不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
在上述任一技术方案中,优选地,所述元数据模型包括文档模型和字段模型,其中,所述文档模型包括:文档类型、文档所属域和文档包含的字段属性集合,所述字段模型包括:所述用户文档的字段名称、索引类型和其他属性,所述其他属性包括:是否保存、是否索引、是否为拼音、是否为多值、是否为唯一和是否为只读。
在该技术方案中,元数据是关于数据的描述性数据信息,用来定义用户文档到索引文档的一个映射关系,它有文档模型和字段模型两种。其中,文档模型包含了文档类型、文档所属域和文档包含的字段属性集合。字段模型包含了用户文档的字段名称、索引类型、是否保存、是否索引、是否拼音、是否多值、是否唯一和是否只读。其中,索引类型指的是字段在建索引和查询过程中使用的分词器类型,是否只读指的是限制某些字段写属性或者只能由后端服务来进行相应的更新。
图2示出了根据本发明的一个实施例的基于元数据模型的检索装置的框图。
如图2所示,根据本发明的一个实施例的基于元数据模型的检索装置200,包括:索引字段映射单元202、动态匹配单元204和查询结果映射单元206。
其中,索引字段映射单元202用于通过元数据模型将用户文档中的字段映射为索引字段;动态匹配单元204用于对所述索引字段进行schema动态匹配,得到查询结果文档;查询结果映射单元206用于通过所述元数据模型将所述查询结果文档映射到所述用户文档的字段中。
在该技术方案中,可以solr(一种独立的企业级搜索应用)服务前端添加一个元数据层,用来管理元数据模型,其接受并保存用户定义的元数据,同时可以通知使用元数据的元数据层去数据库中加载最新的元数据,由于元数据层是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证。
这样,通过元数据模型可以将用户用于检索的字段映射为索引字段,再对索引字段进行schema(可扩展标记语言架构)动态匹配,从而完成检索,并且,可以将检索得到的查询结果文档继续经由元数据模型映射到用户文档的字段,完成检索步骤。通过该技术方案,在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
在上述技术方案中,优选地,所述元数据模型为客户端的应用程序接口与索引服务器之间的元数据层,所述用户文档来自所述客户端,所述schema动态匹配的服务由所述索引服务器提供。
在该技术方案中,用户文档中具有客户端的用户用于检索的字段,solr(一种独立的企业级搜索应用)服务前端添加有一个元数据层,用来管理元数据模型,其接受并保存用户定义的元数据,同时可以通知使用元数据的元数据层去数据库中加载最新的元数据,由于元数据层是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证,从而在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度。
在上述任一技术方案中,优选地,索引字段映射单元202具体用于:根据所述元数据模型,确定所述用户文档所需的元数据,并在预设元数据库中为所述用户文档调用所述所需的元数据,其中,所述用户文档所需的元数据为所述用户文档到所述索引服务器的索引文档的映射关系。
在该技术方案中,可以根据元数据层中的用户文档所需的元数据进行映射,使得用户文档中的字段可以映射为索引字段,从而进一步通过索引字段进行schema动态匹配,从而完成检索。
在上述任一技术方案中,优选地,还包括:全量更新单元208,根据来自所述客户端的注解,为所述元数据模型定义全量元数据,并将定义的所述全量元数据同步更新至所述索引服务器;增量更新单元210,根据来自所述客户端或所述索引服务器的修改命令,修改所述元数据模型的元数据。
在该技术方案中,元数据的管理分为查询与更新两种,更新时又可分为全量更新和增量更新两种,其中,全量更新即通过客户端使用注解来定义全量元数据,同时在索引服务器启动时,将元数据更新到索引服务器,增量更新即根据来自客户端的应用程序接口或者服务端的网页界面的修改命令修改元数据中的相关内容。通过对元数据的更新,可不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
在上述任一技术方案中,优选地,所述元数据模型包括文档模型和字段模型,其中,所述文档模型包括:文档类型、文档所属域和文档包含的字段属性集合,所述字段模型包括:所述用户文档的字段名称、索引类型和其他属性,所述其他属性包括:是否保存、是否索引、是否为拼音、是否为多值、是否为唯一和是否为只读。
在该技术方案中,元数据是关于数据的描述性数据信息,用来定义用户文档到索引文档的一个映射关系,它有文档模型和字段模型两种。其中,文档模型包含了文档类型、文档所属域和文档包含的字段属性集合。字段模型包含了用户文档的字段名称、索引类型、是否保存、是否索引、是否拼音、是否多值、是否唯一和是否只读。其中,索引类型指的是字段在建索引和查询过程中使用的分词器类型,是否只读指的是限制某些字段写属性或者只能由后端服务来进行相应的更新。
图3示出了根据本发明的一个实施例的客户端、元数据层与索引集群的交互示意图。
如图3所示,客户端通过应用程序接口与元数据模型进行交互,具体地,客户端通过元数据模型的搜索服务和/或索引服务与索引集群进行交互,从而完成检索操作。
元数据模型作为隔离层置于客户端和索引服务器之间,由于有隔离层的存在,索引集群可以更容易地扩展,无论是横向还是纵向,前端的索引服务器都不会感知。元数据管理单元是专门用来管理元数据模型的,其接受并保存用户定义的元数据,同时可以通知使用元数据的隔离层去数据库中加载最新的元数据。
由于元数据模型是在索引集群之前,并且直接面向客户提供搜索和索引服务,故索引和搜索服务都会使用用户定义的元数据来进行验证,从而在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度。
元数据的管理分为查询与更新两种,更新时又可分为全量更新和增量更新两种,其中,全量更新即通过客户端使用注解来定义全量元数据,同时在索引服务器启动时,将元数据更新到索引服务器,增量更新即根据来自客户端的应用程序接口或者服务端的网页界面的修改命令修改元数据中的相关内容。通过对元数据的更新,可不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
需要说明的是,在索引节点中,core(处理器)的数量太多,会影响到节点启动速度,为减少core的数量,可以将一部分用户应用的数据映射到同一个core中,这样能提高节点的使用效率。
元数据是关于数据的描述性数据信息,用来定义用户文档到索引文档的一个映射关系,它有文档模型和字段模型两种。其中,文档模型包含了文档类型、文档所属域和文档包含的字段属性集合。字段模型包含了用户文档的字段名称、索引类型、是否保存、是否索引、是否拼音、是否多值、是否唯一和是否只读。其中,索引类型指的是字段在建索引和查询过程中使用的分词器类型,是否只读指的是限制某些字段写属性或者只能由后端服务来进行相应的更新。
索引集群中,可以根据预先定义的分词类型定义相关的动态字段类型和一些必要的内部使用的字段名称,如_uid_、_type_、_domain_,这些是用来标示文档的唯一ID(地址)、类型和所属域,为每个文档的都需要的必要字段。
其中,_uid_是由多个字段合并组成,即应用该类型文档的唯一字段,在与应用的ID组合而成。在建索引时,用户文档通过该用户元数据模型检验,把用户文档字段映射到索引字段,索引字段再跟索引中schema中动态字段匹配。同时,需要将不符合元数据模型的字段从文档中剔除去,对相关找不到对应的元数据文档抛出异常。搜索时,索引服务器将接收和解析用户的查询语句,根据用户检索文档的元数据模型,将语句中的字段映射为索引字段,然后进行查询,最后,将查询返回的文档内容重新映射到用户文档字段。
例如,用户搜索name:北京,通过元数据映射转换为name_s_s,匹配索引schema类型*_s_s;索引服务器返回相关的文档name_s_s:北京天安门,再通过元数据映射回用户原有字段名称name:北京天安门。建索引的过程也与之类似。s_s对应了用户字段的类型和创建索引使用的分词器两种,这样,用户为达到自己想要的搜索效果选择不同的类型,很好地隐藏了索引字段对用户的感知,在用户文档类型发生变更后,直接更新元数据模型,并使之生效即可,而不必更新索引中相关的配置并重新加载,减少了模型变化后更新的复杂度。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,在用户文档类型发生变更后,直接更新元数据模型即可,而不必更新索引服务器中的相关配置并重新加载,减少了更新复杂度,使开发工作更加简单高效,实现了以较少的资源提供更稳定的服务。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于元数据模型的检索方法,其特征在于,包括:
通过元数据模型将用户文档中的字段映射为索引字段;
对所述索引字段进行schema动态匹配,得到查询结果文档;
通过所述元数据模型将所述查询结果文档映射到所述用户文档的字段中;
所述元数据模型为客户端的应用程序接口与索引服务器之间的元数据层,所述用户文档来自所述客户端,所述schema动态匹配的服务由所述索引服务器提供。
2.根据权利要求1所述的基于元数据模型的检索方法,其特征在于,所述通过元数据模型将用户文档中的字段映射为索引字段,具体包括:
根据所述元数据模型,确定所述用户文档所需的元数据,并在预设元数据库中为所述用户文档调用所述所需的元数据,其中,所述用户文档所需的元数据为所述用户文档到所述索引服务器的索引文档的映射关系。
3.根据权利要求2所述的基于元数据模型的检索方法,其特征在于,还包括:
根据来自所述客户端的注解,为所述元数据模型定义全量元数据,并将定义的所述全量元数据同步更新至所述索引服务器;和/或
根据来自所述客户端或所述索引服务器的修改命令,修改所述元数据模型的元数据。
4.根据权利要求1至3中任一项所述的基于元数据模型的检索方法,其特征在于,所述元数据模型包括文档模型和字段模型,其中,所述文档模型包括:文档类型、文档所属域和文档包含的字段属性集合,所述字段模型包括:所述用户文档的字段名称、索引类型和其他属性,所述其他属性包括:是否保存、是否索引、是否为拼音、是否为多值、是否为唯一和是否为只读。
5.一种基于元数据模型的检索装置,其特征在于,包括:
索引字段映射单元,通过元数据模型将用户文档中的字段映射为索引字段;
动态匹配单元,对所述索引字段进行schema动态匹配,得到查询结果文档;
查询结果映射单元,通过所述元数据模型将所述查询结果文档映射到所述用户文档的字段中;
所述元数据模型为客户端的应用程序接口与索引服务器之间的元数据层,所述用户文档来自所述客户端,所述schema动态匹配的服务由所述索引服务器提供。
6.根据权利要求5所述的基于元数据模型的检索装置,其特征在于,所述索引字段映射单元具体用于:
根据所述元数据模型,确定所述用户文档所需的元数据,并在预设元数据库中为所述用户文档调用所述所需的元数据,其中,所述用户文档所需的元数据为所述用户文档到所述索引服务器的索引文档的映射关系。
7.根据权利要求6所述的基于元数据模型的检索装置,其特征在于,还包括:
全量更新单元,根据来自所述客户端的注解,为所述元数据模型定义全量元数据,并将定义的所述全量元数据同步更新至所述索引服务器;和/或
增量更新单元,根据来自所述客户端或所述索引服务器的修改命令,修改所述元数据模型的元数据。
8.根据权利要求5至7中任一项所述的基于元数据模型的检索装置,其特征在于,所述元数据模型包括文档模型和字段模型,其中,所述文档模型包括:文档类型、文档所属域和文档包含的字段属性集合,所述字段模型包括:所述用户文档的字段名称、索引类型和其他属性,所述其他属性包括:是否保存、是否索引、是否为拼音、是否为多值、是否为唯一和是否为只读。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610154457.7A CN105843867B (zh) | 2016-03-17 | 2016-03-17 | 基于元数据模型的检索方法和基于元数据模型的检索装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610154457.7A CN105843867B (zh) | 2016-03-17 | 2016-03-17 | 基于元数据模型的检索方法和基于元数据模型的检索装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843867A CN105843867A (zh) | 2016-08-10 |
CN105843867B true CN105843867B (zh) | 2019-09-03 |
Family
ID=56588084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610154457.7A Active CN105843867B (zh) | 2016-03-17 | 2016-03-17 | 基于元数据模型的检索方法和基于元数据模型的检索装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843867B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020063B (zh) * | 2017-07-18 | 2021-09-03 | 北京京东尚科信息技术有限公司 | 垂直搜索方法和系统 |
CN107453946B (zh) * | 2017-07-20 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 字段管理方法及装置和电子设备 |
CN110609844B (zh) * | 2018-05-29 | 2022-05-13 | 优信拍(北京)信息科技有限公司 | 一种数据更新方法,装置及系统 |
CN110888668B (zh) * | 2018-09-07 | 2024-04-16 | 腾讯科技(北京)有限公司 | 一种模型更新的系统、方法、装置、终端设备和介质 |
CN111259082B (zh) * | 2020-02-11 | 2023-07-21 | 深圳市六因科技有限公司 | 大数据环境下实现全量数据同步的方法 |
CN111737964B (zh) * | 2020-06-23 | 2024-03-19 | 深圳前海微众银行股份有限公司 | 表格动态处理方法、设备及介质 |
CN112948533A (zh) * | 2021-04-13 | 2021-06-11 | 天津禄智技术有限公司 | 一种多次检索和排序的文本检索方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317943A (zh) * | 2011-07-29 | 2012-01-11 | 华为技术有限公司 | 一种全文搜索的方法和装置 |
CN103744960A (zh) * | 2014-01-06 | 2014-04-23 | 河海大学 | 一种基于云平台的元数据索引模型及方法 |
CN104750776A (zh) * | 2013-12-30 | 2015-07-01 | Sap欧洲公司 | 使用元数据访问数据库平台中的信息内容 |
CN104850601A (zh) * | 2015-05-04 | 2015-08-19 | 科技谷(厦门)信息技术有限公司 | 基于图数据库的警务实时分析应用平台及其构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092504B2 (en) * | 2012-04-09 | 2015-07-28 | Vivek Ventures, LLC | Clustered information processing and searching with structured-unstructured database bridge |
-
2016
- 2016-03-17 CN CN201610154457.7A patent/CN105843867B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317943A (zh) * | 2011-07-29 | 2012-01-11 | 华为技术有限公司 | 一种全文搜索的方法和装置 |
CN104750776A (zh) * | 2013-12-30 | 2015-07-01 | Sap欧洲公司 | 使用元数据访问数据库平台中的信息内容 |
CN103744960A (zh) * | 2014-01-06 | 2014-04-23 | 河海大学 | 一种基于云平台的元数据索引模型及方法 |
CN104850601A (zh) * | 2015-05-04 | 2015-08-19 | 科技谷(厦门)信息技术有限公司 | 基于图数据库的警务实时分析应用平台及其构建方法 |
Non-Patent Citations (1)
Title |
---|
"基于solr的异构数据融合检索技术";梁艳 等;《无线互联科技》;20130531(第5期);说明书第3、4节 |
Also Published As
Publication number | Publication date |
---|---|
CN105843867A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843867B (zh) | 基于元数据模型的检索方法和基于元数据模型的检索装置 | |
CN110291517B (zh) | 图数据库中的查询语言互操作性 | |
US9009201B2 (en) | Extended database search | |
US8396894B2 (en) | Integrated repository of structured and unstructured data | |
US9158799B2 (en) | Storing and retrieving context sensitive data in a management system | |
CN101436192B (zh) | 用于优化针对垂直存储式数据库的查询的方法和设备 | |
US8370331B2 (en) | Dynamic visualization of search results on a graphical user interface | |
US8364683B2 (en) | Importing and reconciling resources from disjoint name spaces to a common namespace | |
US9753960B1 (en) | System, method, and computer program for dynamically generating a visual representation of a subset of a graph for display, based on search criteria | |
CN103049521B (zh) | 可实现多属性复合条件查询的虚拟表索引系统及方法 | |
US20140280284A1 (en) | Pivot facets for text mining and search | |
US9805137B2 (en) | Virtualizing schema relations over a single database relation | |
US10621194B2 (en) | Automated harmonization of data | |
US9053134B2 (en) | View variants in database schema mapping | |
US20190377827A1 (en) | Method and system for scalable search using microservice and cloud based search with records indexes | |
WO2016103055A1 (en) | Method of generating hierarchical data structure | |
CN110019554B (zh) | 数据驱动型应用的数据模型、数据建模系统和方法 | |
US7653731B2 (en) | Management of connections to external data | |
Matuszka et al. | Geodint: towards semantic web-based geographic data integration | |
KR101062655B1 (ko) | 태그를 이용한 메타데이터 관리 시스템 및 그 방법 | |
CN109086426A (zh) | 数据查询方法、装置、计算机设备及可读存储介质 | |
CN105488170B (zh) | 一种erp系统的信息管理方法及装置 | |
Gašpar et al. | Integrating Two Worlds: Relational and NoSQL | |
US20210200731A1 (en) | Horizontal skimming of composite datasets | |
US20230401221A1 (en) | Cross-tables search method, electronic device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |