CN102306176B - 一种基于数据仓库内在特征的olap关键词查询方法 - Google Patents
一种基于数据仓库内在特征的olap关键词查询方法 Download PDFInfo
- Publication number
- CN102306176B CN102306176B CN 201110247045 CN201110247045A CN102306176B CN 102306176 B CN102306176 B CN 102306176B CN 201110247045 CN201110247045 CN 201110247045 CN 201110247045 A CN201110247045 A CN 201110247045A CN 102306176 B CN102306176 B CN 102306176B
- Authority
- CN
- China
- Prior art keywords
- dimension
- olap
- data warehouse
- attribute
- method based
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据仓库搜索技术,尤其涉及一种基于数据仓库内在特征的OLAP关键词查询方法,将可能的查询结果返回给OLAP用户,简化用户多维分析的过程,本发明只对维度表建立索引,这样提高了索引的速度,消除了无关信息的噪音;在索引过程中,通过过滤非相关维度属性来减少无关信息对查询结果的影响,采用过滤重复的维度列的方法规避冗余数据对语义的影响;根据维度层次粒度产生了维度层次权重系数,通过在传统的全文检索排序策略上增加维度层次权重系数来提升命中结果准确度;通过Joins相似的排序评分方法提高了结果排序的准确性,解决了现有技术中存在的问题。
Description
技术领域
本发明涉及数据仓库搜索技术,尤其涉及一种基于数据仓库内在特征的OLAP关键词查询方法。
背景技术
近年来,商业智能(Business Intelligence,BI)技术得到了快速发展,基于数据仓库的决策分析成为实现企业价值链的重要环节。然而,当前BI产品提供的联机分析(Online analytical processing,OLAP)工具过于复杂,难以使用。搜索引擎因能够高度简化用户获取内容的过程而被广泛使用。在搜索引擎易用性的启发下,数据库领域展开了基于关系型数据库的关键词查询研究,其基本思路是将数据库中的数据看作是由行通过主键-外键连接而成的图,当用户给出关键词查询时,通过全文索引从图中找出包含全部关键词的最小子图作为结果反馈给用户。
数据库查询通常要求返回满足条件的单个或一组对象,而数据仓库查询则要求返回按特定维度或层次汇总后的数值结果。需求差异使前者采用的方法无法直接应用到OLAP,所以本发明提出基于数据仓库特性的OLAP关键词查询方法。
发明内容
本发明为克服现有技术中存在的不足之处,目的在于提供一种基于数据仓库特性的OLAP关键词查询方法,将可能的查询结果返回给OLAP用户,简化用户多维分析的过程,解决了现有技术中存在的问题。
本发明是通过以下技术方案达到上述目的:
一种基于数据仓库内在特征的OLAP关键词查询方法,包括如下步骤:
1)从数据空间中读取以维度形式存储的历史数据;
2)采用列结构创建数据仓库维度的全文索引;
3)过滤维度表中非关键词属性和重复记录;
4)根据用户输入的关键词在上述全文索引的基础上进行检索,得到对应的维度层次;
5)根据维度层次系数对命中的维度层次进行排序,得到排序后的命中组;
6)对排序后属于不同维度的命中组集合进行连接,产生连接后的查询结果集;
7)最后将查询结果集返回给用户。
作为优选,步骤1)所述的的数据空间为星型结构。
作为优选,步骤2)所述全文索引的索引结构为<维度、属性、属性级别、属性值>。
作为优选,步骤5)所述的维度层次系数,可以根据需要动态调整。
作为优选,步骤5)所述的对命中的维度层次进行排序是通过Joins相似的排序评分方法。
本发明的有益效果:本发明只对维度表建立索引,这样提高了索引的速度,消除了无关信息的噪音;在索引过程中,通过过滤非相关维度属性来减少无关信息对查询结果的影响,采用过滤重复的维度列的方法规避冗余数据对语义的影响;根据维度层次粒度产生了维度层次权重系数,通过在传统的全文检索排序策略上增加维度层次权重系数来提升命中结果准确度;通过Joins相似的排序评分方法提高了结果排序的准确性。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
如图1所示,一种基于数据仓库内在特征的OLAP关键词查询方法,步骤如下所述:
1、从数据空间data space(DS)中读取以维度形式存储的历史数据,数据空间data space(DS)由维度表和事实表组成,一般按星型模式或雪花模式进行组织,由于星型模型应用更加普遍,本实施例使用星型模型。
2、采用列结构创建数据仓库维度的全文索引。索引结构一般有两种,一是以维度表行为单位;二是以维度表列为单位。前者适合关系型数据库场景,用户期望通过关键词找到关联的对象(行);后者则更适合于OLAP场景,用户期望通过选择列(维度属性)操作对数据进行钻取、切片等操作。本发明仅对维度表建立索引,因为:1)用户对数据的操作,可由切片、透视、钻取等OLAP操作来表示,这些操作均在维度以及维度层次上进行;2)事实表的列主要包括关联到维度表的外键和度量属性,外键通常是采用代理主键的方式生成,不具有语义,一般不会被用户作为关键词进行查询;3)事实表通常包含海量明细数据行,OLAP用户一般不关心单一的明细数据,因此不需把事实表的行添加到索引中。
本发明采用如下索引结构:<维度、属性、属性级别、属性值>。其中属性Level代表该属性在维度层次中的级别,后续将作为命中计算的参数。
以下伪代码为维度表的列建立索引:
Function buildIndex2(Schema)
1:for each table in schema do
2:for each column in Dimension table Di do
3:for each distinct column value v
4:add(<table_name,col_name,level,v>)to index
各变量含义如下:
schema-数据仓库模式
Di-第i个维度表
v-维度表Di某列的唯一值
table_name-维度表Di对应的模式中的物理表名称
col_name-维度表Di对应的模式中的物理表的列名称
首先,遍历数据仓库中所有的维度表(第1行),对于每个维度表遍历维度表中所有的列(第2行),在过滤掉相同的值之后把列中所有的值串联起来为这一列建立索引(第3,4行)。
3、过滤维度表中非关键词属性和重复记录。
属性过滤:维度表通常包含多个维度属性,典型的维度包含10个以上的属性,一般情况下不需对所有维度属性进行索引,因为这些属性通常不会被用户作为关键词,在创建索引时过滤这些属性可减少对查询结果的影响。
被过滤的属性主要包括未出现在任何维度层次中的属性,这些属性不会被用户作为OLAP操作时钻取或切片的依据,例如维度表的主键、客户维度的电子邮件地址和客户喜好、数值属性(例如身高)等。
在实际的属性过滤中可能存在边界问题,例如电子邮件地址属性是否应该保留,因为可能存在用户需按电子邮件地址进行分组以进行客户群分析,例如对使用Gmail的客户与使用雅虎邮件的客户进行分析。一般情况下,应该由数据仓库设计人员在客户属性中增加相关的维度层次来满足这些需求。OLAP操作始终是以维度及维度层次为单位对事实表中的行进行过滤和汇总,除非可在运行时动态构建数据仓库模式,否则只能按预置模式进行OLAP操作。
重复记录处理:数据仓库不同于规范化的OLTP数据库,出于性能提升的需要,存在大量冗余数据,采取基于列的方法建立维度索引,导致对重复项建立一一对应的索引记录,在查询时这些重复的索引记录会影响结果集的排序。同样的关键词在完全命中不同的维度属性的情况下,不存在某个维度属性的优先级更高的问题,但由于冗余数据的存在,在不同维度命中时,由于冗余项的数量差异,可能导致索引项的差别,进而导致在不同维度属性上命中产生不同的打分。
4、根据用户输入的关键词在上述全文索引的基础上进行检索,得到对应的维度层次。
维度通常包含一个或者多个属性层次,每个属性层次由多个级别(Level)组成层次化的数据汇总方式,从顶层的All级别开始,不断细化,组成层次树,用户在属性层次的操作对应于OLAP的上钻和下钻操作,在不同属性层次的转换构成了OLAP切片和透视操作。
属性层次的划分对应数据在不同粒度上的汇总,高的属性层次对应更高粒度的汇总,数据仓库用户特征使得高的属性层次同等条件下比低的属性层次更可能符合用户意图。
维度层次系数(Dimensional Level Coefficient,DLC)是根据维度属性层次得到的权重值。Level为0的属性DLC值为0,其他的属性层次,DLC值随维度层次细化而递减。当然也可由领域专家根据经验估计或由OLAP系统根据用户访问记录动态调整。
5、根据维度层次系数通过连接相似的排序评分方法对命中的维度层次进行排序,得到排序后的命中组。首先根据用户输入的多个关键词进行查询,结果按照关键词划分为不同的命中组,命中组的排序依照全文索引排序的得分进行。
6、对排序后属于不同维度的命中组集合进行连接,产生连接后的查询结果集。连接主要是对这些命中组进行连接获得不同的关键词组合,不同的组合按照全文索引查询的评分进行计算后获得连接结果的排序度量值。
7、最后将查询结果集返回给用户。
步骤4)、5)、6)、7)伪代码如下:
Algorithm 1 candidate(query)
1:for each keyword ki in input query do
2:generate hit sets
3:Hits={ki:[],...}
4:for each hit group do
5:j oin with groups for other keywords
6:rank those joins
伪代码及公式中各变量说明如下:
query,q-用户输入
ki-用户输入通过分词后形成的单个关键词
Hits-按照关键词划分的命中结果集
Hk-关键词k的命中结果集
rank-表示命中的属性值相对关键词q的全文匹配度得分
首先遍历用户输入的所有关键词,通过检索为每个关键词产生命中的集合(第1,2行),把所有关键词同命中集合的对应关系放入Hits集合中(第3行),然后对命中了同维度同字段的关键词进行合并(第4,5行),最后对不同维度进行连接产生查询结果集排序后返回给用户(第6行)。排序度量值采用如下公式:
其中rank表示命中的属性值相对关键词q的全文匹配度得分。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
Claims (5)
1.一种基于数据仓库内在特征的OLAP关键词查询方法,其特征在于包括如下步骤:
1)从数据空间中读取以维度形式存储的历史数据;
2)采用列结构创建数据仓库维度的全文索引,采用索引结构为:<维度、属性、属性级别、属性值>;
3)过滤维度表中非关键词属性和重复记录;
4)根据用户输入的关键词在上述全文索引的基础上进行检索,得到对应的维度层次;
5)根据维度层次系数对命中的维度层次进行排序,得到排序后的命中组;
6)对排序后属于不同维度的命中组集合进行连接,产生连接后的查询结果集;
7)最后将查询结果集返回给用户。
2.根据权利要求1所述的一种基于数据仓库内在特征的OLAP关键词查询方法,其特征在于,步骤1)所述的数据空间为星型结构。
3.根据权利要求1所述的一种基于数据仓库内在特征的OLAP关键词查询方法,其特征在于,步骤2)所述全文索引的索引结构为<维度、属性、属性级别、属性值>。
4.根据权利要求1所述的一种基于数据仓库内在特征的OLAP关键词查询方法,其特征在于,步骤5)所述的维度层次系数,可以根据需要动态调整。
5.根据权利要求1、2、3或4任一权利要求所述的一种基于数据仓库内在特征的OLAP关键词查询方法,其特征在于,步骤5)所述的对命中的维度层次进行排序是通过Joins相似的排序评分方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110247045 CN102306176B (zh) | 2011-08-25 | 2011-08-25 | 一种基于数据仓库内在特征的olap关键词查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110247045 CN102306176B (zh) | 2011-08-25 | 2011-08-25 | 一种基于数据仓库内在特征的olap关键词查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102306176A CN102306176A (zh) | 2012-01-04 |
CN102306176B true CN102306176B (zh) | 2013-09-25 |
Family
ID=45380038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110247045 Active CN102306176B (zh) | 2011-08-25 | 2011-08-25 | 一种基于数据仓库内在特征的olap关键词查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102306176B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8463745B2 (en) | 2011-10-18 | 2013-06-11 | International Business Machines Corporation | Encapsulation of multiplicity and sparsity in multidimensional query execution systems |
CN102663116B (zh) * | 2012-04-11 | 2014-04-23 | 中国人民大学 | 面向列存储数据仓库的多维olap查询处理方法 |
CN102789487B (zh) * | 2012-06-29 | 2015-09-02 | 用友软件股份有限公司 | 数据查询检索处理装置和数据查询检索处理方法 |
US20140236960A1 (en) * | 2013-02-19 | 2014-08-21 | Futurewei Technologies, Inc. | System and Method for Database Searching |
CN104123346B (zh) * | 2014-07-02 | 2017-10-20 | 广东电网公司信息中心 | 一种结构化数据搜索方法 |
CN108763240A (zh) * | 2018-03-22 | 2018-11-06 | 五八有限公司 | 基于olap的数据查询方法、装置、设备及存储介质 |
CN110263038B (zh) * | 2019-06-11 | 2021-06-15 | 中国人民大学 | 一种基于分组向量的哈希多表连接实现方法 |
CN110704436B (zh) * | 2019-09-26 | 2022-07-19 | 郑州阿帕斯科技有限公司 | 基于Hbase的索引生成方法及装置 |
CN112328706B (zh) * | 2020-11-03 | 2023-10-24 | 成都中科大旗软件股份有限公司 | 数仓体系下的维度建模计算方法、计算机设备和存储介质 |
CN112948374B (zh) * | 2021-01-29 | 2022-07-08 | 吉林大学 | 一种基于逻辑程序的关系型数据库搜索方法 |
CN115130008B (zh) * | 2022-08-31 | 2022-11-25 | 喀斯玛(北京)科技有限公司 | 一种基于机器学习模型算法的搜索排序方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564160A (zh) * | 2004-04-22 | 2005-01-12 | 重庆市弘越科技有限公司 | 建立及查询多维数据立方体的方法 |
US7627555B2 (en) * | 2004-06-22 | 2009-12-01 | Microsoft Corporation | Combining multidimensional expressions and data mining extensions to mine OLAP cubes |
-
2011
- 2011-08-25 CN CN 201110247045 patent/CN102306176B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102306176A (zh) | 2012-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102306176B (zh) | 一种基于数据仓库内在特征的olap关键词查询方法 | |
US6738678B1 (en) | Method for ranking hyperlinked pages using content and connectivity analysis | |
Singh et al. | Indexing uncertain categorical data | |
CN103020164B (zh) | 一种基于多语义分析和个性化排序的语义检索方法 | |
CN101404015B (zh) | 自动生成词条层次 | |
CN1858737B (zh) | 一种数据搜索的方法和系统 | |
CN103440313A (zh) | 基于音频指纹特征的音乐检索系统 | |
CN103678620A (zh) | 一种基于用户历史行为特征的知识文档推荐方法 | |
CN1996316A (zh) | 基于网页相关性的搜索引擎搜索方法 | |
CN101404016A (zh) | 确定文档特异性 | |
Pérez-Martínez et al. | Contextualizing data warehouses with documents | |
Xin et al. | Computing iceberg cubes by top-down and bottom-up integration: The starcubing approach | |
CN102081668A (zh) | 基于领域本体的信息检索优化方法 | |
CN101944116B (zh) | 一种数据仓库中复杂多维层次的连接和聚集方法 | |
CN111859065A (zh) | 一种基于大数据的舆情聆听系统 | |
CN114707059A (zh) | 一种基于用户偏好的水利对象元数据推荐系统构建方法 | |
Chopra et al. | A survey on improving the efficiency of different web structure mining algorithms | |
Daumé III et al. | Web search intent induction via automatic query reformulation | |
Poblete et al. | A content and structure website mining model | |
Liu et al. | A query suggestion method based on random walk and topic concepts | |
US8190597B1 (en) | Multistage pipeline for feeding joined tables to a search system | |
CN111125159A (zh) | 一种数据统计的方法及装置 | |
Chen et al. | A personalised query suggestion agent based on query-concept bipartite graphs and Concept Relation Trees | |
Navarro | Compact Data Structures Meet Databases (Invited Talk) | |
Ran et al. | User Access Patterns Discovery based on Apriori Algorithm under Web Logs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Hangzhou City, Zhejiang Province, Binjiang District Puyan street 310053 Albert Road No. 1 Building 2 Zhejiang Hongcheng computer system Co. Ltd. Patentee after: Zhejiang Hongcheng Computer Systems Co., Ltd. Address before: 1, building 11, building 1, No. 310013, staff Road, Hangzhou, Zhejiang Patentee before: Zhejiang Hongcheng Computer Systems Co., Ltd. |