CN112115227B - 数据的查询方法、装置、电子设备及存储介质 - Google Patents

数据的查询方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112115227B
CN112115227B CN202010819510.7A CN202010819510A CN112115227B CN 112115227 B CN112115227 B CN 112115227B CN 202010819510 A CN202010819510 A CN 202010819510A CN 112115227 B CN112115227 B CN 112115227B
Authority
CN
China
Prior art keywords
space
index
query
text
text data
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
Application number
CN202010819510.7A
Other languages
English (en)
Other versions
CN112115227A (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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010819510.7A priority Critical patent/CN112115227B/zh
Publication of CN112115227A publication Critical patent/CN112115227A/zh
Application granted granted Critical
Publication of CN112115227B publication Critical patent/CN112115227B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据的查询方法、装置、电子设备及存储介质,数据的查询方法包括:接收查询请求,查询请求包括待查询的空间文本数据的目标查询信息;根据目标查询信息,从预设的文本索引中查询关键词集合,文本索引中索引有预设的多个空间文本数据的关键词,文本索引中每个叶子节点指向一个空间索引;从文本索引中多个叶子节点指向的多个空间索引中,查询满足目标查询信息的目标空间位置,每个空间索引中索引有包括对应的关键词的所有空间文本数据的空间位置;根据目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果。本发明的数据的查询方法,可以有效提升空间文本数据的查询效率以及查询准确性。

Description

数据的查询方法、装置、电子设备及存储介质
技术领域
本发明涉及数据查询技术领域,具体涉及一种数据的查询方法、装置、电子设备及存储介质。
背景技术
在移动互联网的应用中,产生了大量的带有空间位置信息的文本数据,即空间文本数据。提升空间文本数据的访问效率,可以增强移动应用的用户体验,目前提升空间文本数据访问效率的主要方法就是建立空间文本数据的索引。通过空间文本索引来提升查询的性能。目前的空间文本索引方法包括基于树形索引结构的索引方法、空间倒排索引方法和基于Hadoop的空间关键字索引等。
这几种方法都是通过对空间关键字索引的研究,给出了许多提升查询性能的解决方案。但是在日常生活中人们发出查询请求往往是一种模糊的查询请求,比如当人们发出查询请求关键字“图书馆”时,查询的目标可能是“A图书馆”或者“B图书馆”,此时,需要根据诸如查询发出的定位坐标等其他信息才能推断用户想要的查询结果。因为现有的空间关键字索引方法都没有针对模糊查询进行优化,导致使用现有的索引进行模糊查询时会产生查询结果准确性差,或者查询效率低等问题。
发明内容
基于现有技术中存在的问题,本发明实施例中提出一种数据的查询方法、装置、电子设备及存储介质。
第一方面,本发明实施例中提供了一种数据的查询方法,包括:
接收查询请求,其中,所述查询请求包括待查询的空间文本数据的目标查询信息;
根据所述目标查询信息,从预设的文本索引中查询关键词集合,其中,所述关键词集合包括多个目标关键词,所述文本索引中索引有预设的多个空间文本数据的关键词,所述文本索引中每个叶子节点指向一个空间索引;
从所述文本索引中多个叶子节点指向的多个空间索引中,查询满足所述目标查询信息的目标空间位置,每个空间索引中索引有包括对应的关键词的所有空间文本数据的空间位置;
根据所述目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果。
进一步地,所述从所述文本索引中多个叶子节点指向的多个空间索引中,查询满足所述目标查询信息的目标空间位置之前,还包括对所述关键词集合进行过滤的步骤:
获取所述目标查询信息和所述多个目标关键词之间的文本相似度;
获取所述多个目标关键词与所述目标查询信息之间的语义相似度;
根据所述文本相似度和所述语义相似度对所述多个目标关键词进行过滤。
进一步地,所述空间索引中还包括对应于空间文本数据的存储地址,所述根据所述目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果,包括:
根据所述目标空间位置得到待查询的空间文本数据的存储地址;
从所述待查询的空间文本数据的存储地址中获取待查询的空间文本数据的查询结果。
第二方面,本发明实施例中还提供了一种空间文本数据的索引构造方法,包括:
提取空间文本数据的多个关键词和多个位置信息;
将所述多个关键词插入字典树的多个节点中,得到对应于所述多个关键词的文本索引,所述文本索引的多个节点对应存储所述多个关键词中的关键字;
基于所述文本索引中每一个关键词,构建一个空间索引,其中,所述空间索引的叶子节点存储有相应的关键词对应的所有空间位置和与所述所有空间位置对应的空间文本数据的存储地址;
根据所述空间文本数据的存储地址存储空间文本数据。
进一步地,还包括:
根据空间文本数据的空间位置和关键词确定所述空间文本数据在Hadoop集群中的存储节点。
进一步地,根据空间文本数据的空间位置和关键词确定所述空间文本数据在Hadoop集群中的存储节点,包括:
获取空间位置相同的多个空间文本数据的关键词;
根据所述空间位置相同的多个空间文本数据的关键词,确定空间位置相同的多个空间文本数据中每个空间文本数据的存储偏移量;
根据每个空间文本数据的存储偏移量确定在所述Hadoop集群中的节点编号;
根据确定的所述节点编号将对应的空间文本数据存储在Hadoop集群中的所述节点编号对应的存储节点中。
第三方面,本发明实施例中还提供了一种数据查询结果的排序方法,包括:
获取根据查询请求查询到的查询关键词集合占数据查询结果中的空间文本数据的所有关键词的比例;
获取所述查询请求的查询地与数据查询结果中每个空间文本数据的位置信息的位置关联度;
根据所述比例和所述位置关联度对数据查询结果中所有空间文本数据进行排序。
第四方面,本发明实施例中还提供了一种数据的查询装置,包括:
接收模块,用于接收查询请求,其中,所述查询请求包括待查询的空间文本数据的目标查询信息;
第一查询模块,用于根据所述目标查询信息,从预设的文本索引中查询关键词集合,其中,所述关键词集合包括多个目标关键词,所述预设的文本索引中索引有空间文本数据的关键词,且每个关键词对应一个空间索引;
第二查询模块,用于从所述文本索引中多个叶子节点指向的多个空间索引中,查询满足所述目标查询信息的目标空间位置,每个空间索引中索引有包括对应的关键词的所有空间文本数据的空间位置;
查询结果输出模块,用于根据所述目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果。
第五方面,本发明实施例中还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的数据的查询方法,或者第二方面所述的空间文本数据的索引构造方法,或者第三方面所述的数据查询结果的排序方法。
第六方面,本发明实施例中还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的数据的查询方法,或者第二方面所述的空间文本数据的索引构造方法,或者第三方面所述的数据查询结果的排序方法。
由上述技术方案可知,本发明实施例中提供的数据的查询方法、装置、电子设备及存储介质,通过文本索引可以有效地过滤掉不符合文本查询条件的空间文本数据,并且,可以通过空间索引过滤掉不符合空间查询条件的空间文本数据,从而有效提升空间文本数据的查询效率以及查询准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例中提供的数据的查询方法的流程图;
图2是本发明另一个实施例中提供的空间文本数据的索引构造方法的流程图;
图3是采用本发明另一个实施例中提供的空间文本数据的索引构造方法构造的空间文本数据的索引的示意图;
图4是本发明一个实施例的空间文本数据的索引的文本索引的节点类型示意图;
图5是本发明一个实施例的空间文本数据的文本索引文件的结构示意图;
图6是本发明一个实施例的空间文本数据的索引的空间索引的节点类型示意图;
图7是本发明一个实施例的空间文本数据的空间索引文件的结构示意图;
图8是本发明一个实施例的空间文本数据的索引的存储结构的示意图;
图9是本发明一个实施例中提供的数据查询结果的排序方法的流程图;
图10是本发明一个实施例中提供的数据的查询装置的结构框图;
图11是本发明一个实施例中的电子设备的结构框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
以下结合附图描述根据本发明实施例的数据的查询方法、装置、电子设备及存储介质。
图1示出了本发明一个实施例中提供的数据的查询方法的流程图,如图1所示,本发明的实施例中提供的数据的查询方法,具体包括如下内容:
S101:接收查询请求,其中,查询请求包括待查询的空间文本数据的目标查询信息。
在具体示例中,目标查询信息包括查询文本(如查询的关键词)或者查询文本和查询地的组合等。其中,查询文本可以是用户输入的查询的一个或多个关键词。查询地可以是用户输入的,例如:用户期望查询目标区域A范围内的空间文本数据,则查询地可以输入目标区域A,当然,查询地也可以是用户输入查询请求时,根据用户输入的查询文本中可能携带的位置信息或者对用户的定位信息等确定查询地。
S102:根据所述目标查询信息,从预设的文本索引中查询关键词集合,其中,关键词集合包括多个目标关键词,文本索引中索引有空间文本数据的关键词,文本索引中每个叶子节点指向一个空间索引(即:四元树索引,也称为四叉树索引),每个空间索引中索引有包括对应的关键词的所有空间文本数据的空间位置,即:空间索引索引空间文本数据的空间位置。其中,文本索引例如为字典树索引。
S103:从所述文本索引中多个叶子节点指向的多个空间索引中,查询满足目标查询信息的目标空间位置,即:满足目标空间位置的空间文本数据的空间位置,每个空间索引中索引有包括对应的关键词的所有空间文本数据的空间位置。
S104:根据目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果。其中,空间索引中可包括对应于空间文本数据的存储地址,因此,根据目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果,包括:根据目标空间位置得到待查询的空间文本数据的存储地址;从待查询的空间文本数据的存储地址中获取待查询的空间文本数据的查询结果。
根据本发明实施例的数据的查询方法,通过文本索引可以有效地过滤掉不符合文本查询条件的空间文本数据,并且,可以通过空间索引过滤掉不符合空间查询条件的空间文本数据,从而有效提升空间文本数据的查询效率以及查询准确性。
其中,空间文本数据指带有位置信息(也称为空间位置信息)的文本数据,例如带有定位信息的微博、微信说说等空间本文数据。
在以上描述中,文本索引、空间索引以及空间文本数据三者可预先被构造成空间文本数据的索引。这样,根据输入的查询请求,通过空间文本数据的索引可以得到空间文本数据的查询结果。
如图2所示,在本发明的实施例中,提供了一种空间文本数据的索引构造方法,包括:
S201:提取空间文本数据的多个关键词和多个位置信息。
S202:将多个关键词插入字典树的多个节点中,得到对应于多个关键词的文本索引,文本索引的多个节点对应存储多个关键词中的关键字。在具体示例中,文本索引例如包括前缀文本索引和后缀文本索引。
S203:基于文本索引中每一个关键词,构建一个空间索引,其中,空间索引的叶子节点存储有相应的关键词对应的所有空间位置和与所有空间位置对应的空间文本数据的存储地址。
S204:根据空间文本数据的存储地址存储空间文本数据。
如图3所示,为本发明实施例的空间文本数据的索引的示意图。其中,文本索引负责存储空间文本数据的关键词,通过文本索引可以实现查询过程中关键词的模糊匹配与剪枝。本发明实施例的文本索引的节点的存储结构中,存储关键词中最后一个关键字的节点指向一个空间索引(即:一个空间索引),空间索引中,索引了包含该关键词的空间文本数据的位置信息,通过空间索引可以实现查询过程中位置信息的剪枝。
为了提升模糊匹配和查询效率,本发明的实施例中,构建前缀文本索引和后缀文本索引,来支持不同的模糊查询方式。需要说明的是,由于前缀文本索引与后缀文本索引在结构上相同,因此,仅以前缀文本索引进行描述。
如图3所示,空间文本数据的索引分为三层,分别是文本索引、空间索引和空间文本数据。
对于文本索引,关键词按照字典树的规则进行存储,如图3中,示出了存储有包括maven、me、park、post和poster这5个关键词的文本索引。
空间索引为多个,即:每个关键词对应一个空间索引,从图3中可以看出,每个关键词的最后一个关键字都对应一个空间索引,通过空间索引将位置信息组织起来,以方便查询时的空间位置的剪枝。每个空间索引的叶子节点包括空间文本数据的位置信息和空间文本数据的储存地址,这样,可以通过空间索引查询到相应的空间文本数据。如图4所示,在文本索引中,文本索引的节点分为两种类型。第一种类型类似一般的字典树的节点,即节点存储的内容包含了节点的ID、该节点的子节点指针和存储的关键字;第二种类型是除了存储上述信息外,还存储了一个指向四元树存储位置的指针以及四元树的元数据,四元树的元数据包含了四元树的深度和空间索引的空间的最小包围矩形,指向四元树存储位置的指针可以是空间索引的存储地址或空间索引在索引文件中的偏移量,而存储空间索引的元数据则是为了便于在模糊查询时计算过滤关键词时使用,其中,第一类节点和第二类节点如图4所示。
在具体应用中,为了保证读写效率,文本索引的节点ID占64B,存储的字母占64B,子节点指针占256B,四元树的元数据占256B,四元树的指针信息则占128B。这样,对于Hadoop的存储块以64MB为单位来说,可以降低Hadoop的网络传输量,提升了Hadoop数据的处理效率。针对Hadoop的存储方式,本方案设计的文本索引文件的结构如图5所示。
在本发明的一个实施例中,可以将文本索引存储为HDFS文件的形式,即:形成文本索引文件,由于字典树的特性,每个节点最多有26个子节点,因此,可将每一个节点的子节点集合都按26个来存储,例如某个子节点A可能只有25个子节点,但是本发明的实施例中,在子节点A后面申请26个子节点的存储位置,这样虽然牺牲了部分存储空间,但是在查询的时候可以通过文件偏移量而迅速定位到所查询的位置,使查询效率得到提升。
对于空间索引而言,其将索引的空间区域不断地进行四等分,直至无法再划分为止。本发明实施例的空间索引中,每个四元树的节点除了存储四元树的相应信息外,还存储一个Zorder排序值,其中,对于叶子节点而言,Zorder排序值为空间文本数据的位置信息,其中,每一个Zorder排序值可以表示一个四元树划分的子区域,通过Zorder排序值可以将四元树进行序列化存储。
四元树序列的节点的结构如图6所示,节点可以分为两类,即:中间节点和叶节点(即:叶子节点),其中,中间节点存储其子节点的指针,而叶节点存储数据存放位置的指针(即:空间文本数据的存储地址)。
通过Zorder排序值可以计算出节点所表示区域的空间位置信息,使用Zorder排序值可以压缩存储空间,而且Zorder排序值可以表示出节点之间的上下层级关系,因此,在本发明的实施例中,利用这一特点,将四元树的节点进行序列化存储,在查询的时候通过偏移量和Zorder排序值可以迅速定位节点的位置,因此,可以优化MapReduce的数据划分,使不同的Map任务可以从不同的四元树中间节点开始查询,提升了并行查询的效率。空间索引的存储文件(即:空间索引文件)的结构如图7所示。
需要说明的是,如果关键词太多,会导致空间索引过多,因此,如果为每个空间索引生成一个四元素索引文件会降低Hadoop的数据处理效率。因此,在本发明的一个实施例中,可以将多个前缀或者后缀相同的关键字对应的空间索引进行合并存储,形成一个空间索引文件,通过文件偏移量来记录同一个空间索引文件中不同的空间索引的开始的位置。通过上述的空间文本数据的索引进行存储时,数据存储形式如图8所示。
结合图8所示,文本索引包括了前缀文本索引和后缀文本索引,二者在结构上完全一致,只是在构建的时候一个按前序输入关键词,而另一个按后续输入关键词,文本索引会被存储为文本索引文件而直接分布存储在Hadoop集群中。空间索引文件会将文本索引里前缀相同的关键词对应的空间索引存储到一起,这是由于前缀相同的关键词,往往具有较高的关联度,在模糊查询时往往会被一起访问,这样将其对应的空间索引存储在一起,形成一个空间索引文件,可以减少空间索引文件的读取,提升查询效率。
为了避免在查询时出现热点查询区域,使查询请求集中于某一个或几个Hadoop节点而造成这些Hadoop节点负担过大,空间文本数据在存储时,采用反聚集存储方式,将空间位置相邻的数据尽量存储到Hadoop集群的不同节点上,这样在查询时可以均摊请求负载,从而解决热点区域查询的问题,在反聚集存储方式中,关键是如何确定所述空间文本数据在Hadoop集群中的存储节点,在本发明的一个实施例中,可以根据空间文本数据的空间位置和关键词确定所述空间文本数据在Hadoop集群中的存储节点。具体来说,对应空间索引的文本索引的节点中存储空间索引的元数据(也称为元信息),其中,元数据包括空间索引的深度和区域面积。基于元数据,反聚集存储方式为:获取空间位置相同的多个空间文本数据的关键词;根据空间位置相同的多个空间文本数据的关键词,确定空间位置相同的多个空间文本数据中每个空间文本数据的存储偏移量;根据每个空间文本数据的存储偏移量确定在所述Hadoop集群中的节点编号;根据确定的所述节点编号将对应的空间文本数据存储在Hadoop集群中的所述节点编号对应的存储节点中。
作为一个示例,在反聚集存储方式中,可以将空间上相邻的数据分散存储到不同的Hadoop节点,当某一条空间文本数据需要存储到Hadoop中时,可通过如下公式计算出其应该存储的Hadoop节点的节点编号,公式为:
Loc=(Zorder_Value%Dnum+crc64(keywords))%Dnum
其中,Zorder_Value为位置信息的坐标的计算值,Dnum为Hadoop集群中的Hadoop节点的数量,keywords则表示一个空间文本数据中所有的关键词。Zorder_Value通过坐标计算得到,即:不同的坐标会求出不同的Zorder_Value,在本示例中,Zorder_Value%Dnum可以求出一个预设的节点编号;crc64(keywords)是将所有的关键词转换为一个整数以作为存储节点编号的偏移量,不同的空间文本数据会有不同的关键词,不同的关键词会有不同的偏移量值。这样相同位置信息对应的不同的空间文本数据会因为关键词的不同而产生不同的偏移量,从而计算得到不同的存储节点编号,由此,使空间位置上相邻的空间本文数据存储到了不同的Hadoop节点上。例如两个空间文本数据<(1,2),park,post>和<(1,2),maven>,虽然坐标一样,均为(1,2),即:Zorder_Value一样,但是两者之间的关键词不同,一个为park,post,另一个则为maven,因此,两者的存储位置通常处于不同的Hadoop节点中。
因此,在具体应用中,空间文本数据的索引的构建方法中,具体包括:
(1)启动MapReduce任务来提取空间文本数据的空间属性与文本属性,其中,空间属性即空间位置坐标(也称为位置信息),文本属性即该空间文本数据所包含的关键词。
(2)将提取到的关键词插入到文本索引中,由于文本索引可包括前缀字典树和后缀字典树,前缀字典树按关键词的正常顺序插入,而后缀字典树则按关键词的倒序插入,因此,可以启用MapReduce任务进行并行的插入,此时文本索引的节点内只填入字典树的相关信息。
(3)按照步骤1提取的关键词进行归类,通过MapReduce任务将包含同一个关键词对应的位置信息汇总,作为建立空间索引时所需的数据。
(4)启用MapReduce任务,为每个关键词建立相应的空间索引,其中,如果是新的关键词则建立新的空间索引,否则按四元树的插入规则进行数据插入,只有叶节点的指针指向实际的数据;在空间索引构建与插入程中,可以合并前缀或后缀相同的关键词对应的空间索引,这样,可以减少空间索引文件的数量。
(5)当位置信息都插入到空间索引的叶节点后,根据前述计算空间文本数据的存储位置,即Hadoop中的节点编号。
(6)在求出Hadoop中的节点编号后,进行批量地写入,将空间上相邻的数据写入到不同的Hadoop节点上,实现空间文本数据的反聚集存储。
(7)在空间索引构建或数据插入完毕且在空间文本数据写入完毕后,将每个关键词对应的空间索引的元数据更新到文本索引对应的节点上,元数据包括但不限于空间索引的深度和空间索引的区域的最小包围矩形。
在构造完成空间文本数据的索引中,可以基于空间文本数据的索引进行空间文本数据的查询,本发明实施例的查询方法支持模糊查询和语义查询,其中,由于一一对应多个空间索引的文本索引的多个节点中还存储有对应的空间索引的元数据,即:预设的文本索引中存储有空间索引的元数据,元数据包括空间索引的深度和区域面积,因此,在从多个目标关键词对应的多个空间索引中,查询满足目标查询信息目标空间位置之前,还包括对所述关键词集合进行过滤的步骤,具体包括:获取所述目标查询信息和所述多个目标关键词之间的文本相似度;获取所述多个目标关键词与所述目标查询信息之间的语义相似度;根据所述文本相似度和语义相似度对所述多个目标关键词进行过滤。
具体来说,语义相似度也称为语义相关度,通过关键词之间的语义联系过滤出与查询请求的关键词的语义更近的关键词作为候选关键词。因此,本发明的实施例中,提供了一种基于位置信息的语义相关度计算方式,其公式如下:
Relate=1/edit_dis(keyword1,keyword2)+1/(1+e-(h/s));
在上述公式中,首先计算查询关键词keyword1和候选关键词keyword2之间的编辑距离,即:edit_dis(keyword1,keyword2)函数的执行结果。其中,编辑距离可以描述文本之间的相似度,即:编辑距离对应文本相似度,其值越低说明两个文本之间的相似度越高。
进一步地,在编辑距离之外还引入了位置信息来计算语义相似度,在公式中h表示该候选关键词所对应的空间索引的深度,该值可由文本索引的节点存储的信息获得,而S则表示候选关键词所对应空间索引的索引区域的面积,该值可由空间索引区域的最小包围矩形的面积计算而来,使用h/S是因为S越小说明索引区域越小,h越大说明在S大的区域内包含该候选关键词的空间对象很多,当出现这种情形的时候,候选关键词往往会和查询关键字有很大的语义关联。例如,用户查询超市,而在某区域有很多家超市,那么用户查询的目标很可能就在该区域内,该候选关键字就应该留下。该示例中,引入sigmoid函数进行归一化,当h很深,而S很小时,1/(1+e-(h/s))的值就会变大,再融合编辑距离,从而,可以反映关键词之间的语义关联,与用户的查询目标更为贴切。
通过上述公式,可以将语义相关度低的候选关键词剔除掉,缩小查询的数据规模,从而提升查询的效率和正确率。
在查询时加载候选关键词对应的空间索引,进行并行查询,用空间索引进行空间过滤,最后再合并查询结果得到最终的空间文本数据的查询结果。
根据本发明实施例的查询方法,通过计算语义相关度排除了关联度低的数据,缩小了查询范围,提升了查询效率。综上所述,本发明实施例的查询方法的具体实施步骤如下:
(1)查询前缀文本索引和后缀文本索引,通过前缀查询、后缀查询和包含查询得出初步的候选关键词集合。
(2)计算候选关键词与查询关键词的语义相关度,在计算过程中,融入了位置信息,使语义的计算更加准确。
(3)根据关键词的语义计算的结果过滤掉语义相关度低的关键词。
(4)加载剩余的关键词所对应的空间索引,进行空间剪枝,过滤掉不符合空间查询条件的数据。
(5)将空间索引的查询结果进行汇总,计算出空间文本数据的存储地址,进行数据读取,从而得到空间文本数据的查询结果。
根据本发明实施例的数据的查询方法,可以有效提升空间文本数据的查询效率以及查询准确性。
图9是根据本发明一个实施例的数据查询结果的排序方法的流程图。如图9所示,根据本发明一个实施例的数据查询结果的排序方法,包括:
S901:获取根据查询请求查询到的查询关键词集合占数据查询结果中的空间文本数据的所有关键词的比例。
S902:获取查询请求的查询地与数据查询结果中每个空间文本数据的位置信息的位置关联度。
S903:根据比例和所述位置关联度对数据查询结果中所有空间文本数据进行排序。
具体来说,查询请求包括待查询的空间文本数据的目标查询信息,目标查询信息可以认为是待查询的空间文本数据的关键词或者空间文本数据本身,该空间文本数据的空间坐标(即:位置信息)就是查询发出的坐标,而该空间文本数据的文本信息就是查询的关键词,这样,只要计算出该空间文本数据和查询结果中的空间文本数据的相似性,就可以得出查询结果中的数据与查询目标之间的关联度了。计算出关联度后,依据该关联度来进行降序排列,相关性高的排在前面,相关性低的排在后面。例如:相关度的计算公式如下:
Relate_order=(1-1/n)*(s_keywords/a_keywords)+
(1/n)*(1/(dis((x1,y1),(x2,y2)))+1/(1+e-(SK_NUM));
在上述公式中,采用Jaccard系数的思想来计算文本相似度,其中s_keywords表示查询关键词和与查询结果中每个空间文本数据的关键词集合的交集,而a_keywords表示查询出的每个空间文本数据的关键词集合,s_keywords/a_keywords计算出查询关键词占该空间文本数据的关键词集合中关键词的比例,其中,比例越大说明该空间文本数据与查询目标在文本上具有更多的共同点,因此,文本相关性也就越大。
而(x1,y1)、(x2,y2)则分别表示查询发出的坐标和该空间文本数据的坐标,可以认为离查询位置越近,其关联度越大,因此,对距离值求反;在公式中n表示该空间文本数据包含的关键词的个数,用关键词的个数做一个系数,从公式中可以看出,一个空间文本数据的关键词越多,那么文本相似度占的比重越多,这是因为关键词越多越能描述空间文本数据的特性,这样文本相似度就越具有区分性,应该加大文本相似度的比重。最后结合上述的系数,即1/(1+e-(SK_NUM))确定相关度,其中,SK_NUM是空间文本数据中包含查询关键词的个数,个数越多则空间文本数据就越符合查询目标,相关度也就越高。因此,得出Relate_order的值越大,则说明该空间文本数据和查询目标的相关性越高,在排序时排在相对靠前的位置。
根据本发明实施例的数据查询结果的排序方法,能够使查询结果中与查询目标相关性越高的空间文本数据排序时越靠前,由此,查询结果更加符合查询要求,提升了用户的查询体验。
图10是根据本发明一个实施例的数据的查询装置的结构框图。如图10所示,根据本发明一个实施例的数据的查询装置,包括:接收模块1010、第一查询模块1020、第二查询模块1030和查询结果输出模块1040。
其中,接收模块1010用于接收查询请求,其中,所述查询请求包括待查询的空间文本数据的目标查询信息;第一查询模块1020用于根据所述目标查询信息,从预设的文本索引中查询关键词集合,其中,所述关键词集合包括多个目标关键词,所述预设的文本索引中索引有空间文本数据的关键词,且每个关键词对应一个空间索引;第二查询模块1030用于从所述文本索引中多个叶子节点指向的多个空间索引中,查询满足所述目标查询信息的目标空间位置,每个空间索引中索引有包括对应的关键词的所有空间文本数据的空间位置;查询结果输出模块1040用于根据所述目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果。
根据本发明实施例的数据的查询装置,通过文本索引可以有效地过滤掉不符合文本查询条件的空间文本数据,并且,可以通过空间索引过滤掉不符合空间查询条件的空间文本数据,从而有效提升空间文本数据的查询效率以及查询准确性。
需要说明的是,本发明实施例的数据的查询装置的具体实现方式与本发明实施例的数据的查询方法的具体实现方式类似,具体请参见方法部分的描述,为了减少冗余,具体此处不做赘述。
基于相同的发明构思,本发明又一个实施例中提供了一种电子设备,参见图11,所述电子设备具体包括如下内容:处理器1101、存储器1102、通信接口1103和通信总线1104;
其中,所述处理器1101、存储器1102、通信接口1103通过所述通信总线1104完成相互间的通信;所述通信接口1103用于实现各设备之间的信息传输;
所述处理器1101用于调用所述存储器1102中的计算机程序,所述处理器执行所述计算机程序时实现上述数据的查询方法的全部步骤,或者空间文本数据的索引构造方法的全部步骤,或者数据查询结果的排序方法的全部步骤。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据的查询方法的全部步骤,或者空间文本数据的索引构造方法的全部步骤,或者数据查询结果的排序方法的全部步骤。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例的方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例的或者实施例的某些部分所述的指标监控方法。
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据的查询方法,其特征在于,包括:
接收查询请求,其中,所述查询请求包括待查询的空间文本数据的目标查询信息;
根据所述目标查询信息,从预设的文本索引中查询关键词集合,其中,所述关键词集合包括多个目标关键词,所述文本索引中索引有预设的多个空间文本数据的关键词,所述文本索引中每个叶子节点指向一个空间索引;
从所述文本索引中多个叶子节点指向的多个空间索引中,查询满足所述目标查询信息的目标空间位置,每个空间索引中索引有包括对应的关键词的所有空间文本数据的空间位置;
根据所述目标空间位置确定待查询的空间文本数据的存储地址,以得到待查询的空间文本数据的查询结果;
其中,所述文本索引包括前缀文本索引和后缀文本索引,所述文本索引中前缀相同的关键词对应的空间索引存储在同一存储文件中。
2.根据权利要求1所述的数据的查询方法,其特征在于,
所述从所述文本索引中多个叶子节点指向的多个空间索引中,查询满足所述目标查询信息的目标空间位置之前,还包括对所述关键词集合进行过滤的步骤,具体包括:
获取所述目标查询信息和所述多个目标关键词之间的文本相似度;
获取所述多个目标关键词与所述目标查询信息之间的语义相似度;
根据所述文本相似度和所述语义相似度对所述多个目标关键词进行过滤。
3.根据权利要求1所述的数据的查询方法,其特征在于,所述空间索引中还包括对应于空间文本数据的存储地址,所述根据所述目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果,包括:
根据所述目标空间位置得到待查询的空间文本数据的存储地址;
从所述待查询的空间文本数据的存储地址中获取待查询的空间文本数据的查询结果。
4.一种空间文本数据的索引构造方法,其特征在于,包括:
提取空间文本数据的多个关键词和多个位置信息;
将所述多个关键词插入字典树的多个节点中,得到对应于所述多个关键词的文本索引,所述文本索引的多个节点对应存储所述多个关键词中的关键字;
基于所述文本索引中每一个关键词,构建一个空间索引,其中,所述空间索引的叶子节点存储有相应的关键词对应的所有空间位置和与所述所有空间位置对应的空间文本数据的存储地址;
根据所述空间文本数据的存储地址存储空间文本数据;
其中,所述文本索引包括前缀文本索引和后缀文本索引,所述文本索引中前缀相同的关键词对应的空间索引存储在同一存储文件中。
5.根据权利要求4所述的空间文本数据的索引构造方法,其特征在于,还包括:
根据空间文本数据的空间位置和关键词确定所述空间文本数据在Hadoop集群中的存储节点。
6.根据权利要求5所述的空间文本数据的索引构造方法,其特征在于,根据空间文本数据的空间位置和关键词确定所述空间文本数据在Hadoop集群中的存储节点,包括:
获取空间位置相同的多个空间文本数据的关键词;
根据所述空间位置相同的多个空间文本数据的关键词,确定空间位置相同的多个空间文本数据中每个空间文本数据的存储偏移量;
根据每个空间文本数据的存储偏移量确定在所述Hadoop集群中的节点编号;
根据确定的所述节点编号将对应的空间文本数据存储在Hadoop集群中的所述节点编号对应的存储节点中。
7.一种数据查询结果的排序方法,其特征在于,包括:
获取根据查询请求查询到的查询关键词集合占数据查询结果中的空间文本数据的所有关键词的比例;
获取所述查询请求的查询地与数据查询结果中每个空间文本数据的位置信息的位置关联度;
根据所述比例和所述位置关联度对数据查询结果中所有空间文本数据进行排序;
其中,所述数据查询结果是基于权利要求1-3任一所述的数据的查询方法得到的。
8.一种数据的查询装置,其特征在于,包括:
接收模块,用于接收查询请求,其中,所述查询请求包括待查询的空间文本数据的目标查询信息;
第一查询模块,用于根据所述目标查询信息,从预设的文本索引中查询关键词集合,其中,所述关键词集合包括多个目标关键词,所述预设的文本索引中索引有空间文本数据的关键词,且每个关键词对应一个空间索引;
第二查询模块,用于从所述文本索引中多个叶子节点指向的多个空间索引中,查询满足所述目标查询信息的目标空间位置,每个空间索引中索引有包括对应的关键词的所有空间文本数据的空间位置;
查询结果输出模块,用于根据所述目标空间位置确定待查询的空间文本数据的存储地址,得到待查询的空间文本数据的查询结果;
其中,所述文本索引包括前缀文本索引和后缀文本索引,所述文本索引中前缀相同的关键词对应的空间索引存储在同一存储文件中。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1-3任一所述的数据的查询方法,或者根据权利要求4-6任一所述的空间文本数据的索引构造方法,或者根据权利要求7所述的数据查询结果的排序方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1-3任一所述的数据的查询方法,或者根据权利要求4-6任一所述的空间文本数据的索引构造方法,或者根据权利要求7所述的数据查询结果的排序方法。
CN202010819510.7A 2020-08-14 2020-08-14 数据的查询方法、装置、电子设备及存储介质 Active CN112115227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010819510.7A CN112115227B (zh) 2020-08-14 2020-08-14 数据的查询方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010819510.7A CN112115227B (zh) 2020-08-14 2020-08-14 数据的查询方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112115227A CN112115227A (zh) 2020-12-22
CN112115227B true CN112115227B (zh) 2024-05-24

Family

ID=73805334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010819510.7A Active CN112115227B (zh) 2020-08-14 2020-08-14 数据的查询方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112115227B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579743A (zh) * 2020-12-25 2021-03-30 深圳市英威腾电气股份有限公司 一种说明书内容查询方法、装置、电子设备及存储介质
WO2022213577A1 (zh) * 2021-04-09 2022-10-13 深圳前海微众银行股份有限公司 一种空间文本的查询方法及装置
CN113157862B (zh) * 2021-04-13 2024-03-22 青岛大学 词组搜索方法、装置、云服务器、系统及存储介质
CN113220838A (zh) * 2021-05-12 2021-08-06 北京百度网讯科技有限公司 确定关键信息的方法、装置、电子设备和存储介质
CN113536074B (zh) * 2021-07-13 2024-04-26 挂号网(杭州)科技有限公司 vue框架中的关键字查询方法、装置、计算机设备及介质
CN114064662B (zh) * 2022-01-13 2022-05-03 北京中交兴路信息科技有限公司 查询数据的方法、装置、电子设备及介质
CN114881774B (zh) * 2022-07-12 2022-10-21 华中科技大学同济医学院附属协和医院 基于凭证信息处理的电子档案管理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404675A (zh) * 2015-11-20 2016-03-16 苏州大学 Ranked反近邻空间关键字查询方法及装置
WO2016082432A1 (zh) * 2014-11-27 2016-06-02 中兴通讯股份有限公司 一种查询数据的方法和装置
CN108628969A (zh) * 2018-04-24 2018-10-09 咪咕文化科技有限公司 一种空间关键字索引方法及平台、存储介质
CN111353012A (zh) * 2020-03-09 2020-06-30 咪咕文化科技有限公司 空间文本数据缓存处理方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082432A1 (zh) * 2014-11-27 2016-06-02 中兴通讯股份有限公司 一种查询数据的方法和装置
CN105404675A (zh) * 2015-11-20 2016-03-16 苏州大学 Ranked反近邻空间关键字查询方法及装置
CN108628969A (zh) * 2018-04-24 2018-10-09 咪咕文化科技有限公司 一种空间关键字索引方法及平台、存储介质
CN111353012A (zh) * 2020-03-09 2020-06-30 咪咕文化科技有限公司 空间文本数据缓存处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112115227A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN112115227B (zh) 数据的查询方法、装置、电子设备及存储介质
CN106484875B (zh) 基于molap的数据处理方法及装置
US11126647B2 (en) System and method for hierarchically organizing documents based on document portions
CN107103032B (zh) 一种分布式环境下避免全局排序的海量数据分页查询方法
Hu et al. Top-k spatio-textual similarity join
US10275486B2 (en) Multi-system segmented search processing
CN105630881A (zh) 一种rdf的数据存储方法和查询方法
US11775541B2 (en) System and method for subset searching and associated search operators
CN109992603B (zh) 一种数据搜索方法、装置、电子设备和计算机可读介质
WO2015051481A1 (en) Determining collection membership in a data graph
JP2022137281A (ja) データ照会方法、装置、電子デバイス、記憶媒体、及びプログラム
CN114564620A (zh) 图数据存储方法、系统及计算机设备
US11163831B2 (en) Organizing hierarchical data for improved data locality
US9164978B2 (en) Identifying objects within a multidimensional array
CN110008407B (zh) 一种信息检索方法及装置
CN116821133A (zh) 一种数据处理方法和装置
US9081578B1 (en) System and method for graph conditioning with non-overlapping orderable values for efficient graph evaluation
JP2020160494A (ja) 情報処理装置、文書管理システム及びプログラム
CN113297204B (zh) 索引生成方法及装置
CN111639099A (zh) 全文索引方法及系统
CN111309704B (zh) 数据库操作方法和数据库操作系统
CN113868373A (zh) 一种词云生成方法、装置、电子设备及存储介质
Kontakis et al. Spatial indexing of complex virtual reality scenes in the web
CN114943004B (zh) 属性图查询方法、属性图查询装置以及存储介质
CN115809248B (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
GR01 Patent grant
GR01 Patent grant