logo好方法网

一种基于ElasticSearch实现多维度智能搜索相关数据的系统和方法


技术摘要:
本发明公开了一种基于ElasticSearch实现多维度智能搜索相关数据的系统,包括词根模块、维度管理模块、词关系管理模块、权重配置模块、智能联想模块五个模块;本发明还公开了一种基于ElasticSearch实现多维度智能搜索相关数据系统的方法,通过在海量数据中根据搜索维度  全部
背景技术:
在企业大数据搜索领域中,通常会使用Ela s t i c S e a r c h作为搜索引擎 (ElasticSearch是一个基于Lucene的搜索服务器,简称ES)。在迅速发展的企业或组织中, 数据资产会越来越多,有价值的数据也会倍增。 由于数据具有多样性,搜索引擎会根据用户需求与一定算法搜索数据,一般除了 精准搜索数据外,还会利用ES的各项能力对搜索语句进行分词搜索、转拼音搜索、中文首字 母搜索。但在海量数据中,搜索的数据会非常多,数量级很大,耗时较长;且搜索的结果往往 是直接关联与硬匹配,匹配度越高的数据,排名越靠前;而且,没有智能联想的能力,首先搜 索条件未能联想到相关关系词,其次也未能根据不同维度联想到行业关系词,没有侧重点, 不太利于用户在最短时间内获取最优数据。 用户搜索数据通常会具有侧重点,相同搜索词在不同维度下,希望搜索引擎可以 智能联想到不同的相关数据,例如:同样是搜索“苹果”,在“电子科技”维度中希望优先搜索 到“苹果手机”、“苹果公司”、“乔布斯”、“iPhone”等等;在“农副产品”维度中希望优先搜索 到“烟台苹果”、“水果”、“橘子”等等;在“学术科研”维度中希望优先搜索到“苹果”、“牛顿”、 “万有引力”、“亚当夏娃”等等。
技术实现要素:
针对相关技术中的上述技术问题,本发明提出一种基于ElasticSearch实现多维 度智能搜索相关数据的系统和方法,能够克服现有技术的上述不足。 为实现上述技术目的,本发明的技术方案是这样实现的: 一种基于ElasticSearch实现多维度智能搜索相关数据的系统,包括词根模块、维 度管理模块、词关系管理模块、权重配置模块、智能联想模块五个模块; 所述词根模块用于提供词根来构成搜索需要的词汇,并根据需要维护词根的基础 信息; 所述维度管理模块用于定义所述词根模块中各种词根的维度,为搜索联想奠定基 础范围; 所述词关系管理模块用于在搜索引擎构建搜索条件时,为词根配置不同维度的关 系词; 所述权重配置模块用于根据不同的维度设置不同词关系的权重,以及设置原词、 分词、衍生词的附加权重; 所述智能联想模块将原词根据ES智能拆词规则拆分,加入维度后,获取相关的词 4 CN 111597412 A 说 明 书 2/6 页 根信息,并将这些数据加工后,形成ES搜索引擎可识别的检索条件; 所述词根模块、所述维度管理模块、所述词关系管理模块、所述权重配置模块、所 述智能联想模块五个模块之间的数据均独立存储,使用词根ID和维度ID将五个模块之间的 数据串联起来。 进一步的,所述词根的基础信息包括名称、拼音、热度、违禁信息。 进一步的,所述维度包括综合通用、电子科技、农副产品、学术科研、军事国防。 进一步的,所述词关系包括同义词、近义词、相似词、反义词。 进一步的,所述原词为传入到搜索系统中未加工过的语句;所述分词为使用ES分 词器将搜索语句拆分成的新的语句;所述衍生词为词根的相关词。 本发明还公开了一种基于ElasticSearch实现多维度智能搜索相关数据的方法, 包括如下步骤: S1:获取用户传入的搜索条件; S2:判断用户传入的搜索条件是否是词根; S3:若S2中的搜索条件是词根,则获取词根的基础信息,并判断词根是否违禁; S4:若S3中的词根是违禁词,则拒绝搜索,若S3中的词根不是违禁词,则定义当前 的词根的维度; S5:根据S4中需求的维度,获取当前维度的词关系; S6:若S2中的搜索条件不是词根,则使用ES分词器对搜索条件进行分词,产生词 根,然后进行步骤S3-S5; S7:对S5中的词关系进行过滤检查,去除违禁词; S8:构建新的搜索条件,将新的搜索条件根据每种词的权重加入到相关度分数计 算公式中,再加入不能包含违禁词的搜索条件,构建出ES搜索引擎识别的搜索条件; S9:调用ElasticSearch的搜索服务,将S8中构建的搜索条件传入,由ES将数据分 页搜出来; S10:搜出数据后,将数据集合返回给用户; S11:若搜索条件是词根,则给此词根增加1点热度,若搜索条件不是词根,则由ES 分词器将此搜索条件拆分出词根,给这些词根均加1点热度。 进一步的,在步骤S6中,ES分词器包括单字分词、二分法分词、词库分词三种。 其中,所述单字分词是将搜索条件中的每个字均拆分出来成为词根;所述二分法 分词是将搜索条件按两个字进行切分成为词根;所述词库分词是按某种算法构造词,然后 去匹配已建好的词库集合,如果匹配到就切分出来成为词根。 进一步的,步骤S8中,相关度分数计算公式使用TF/IDF算法: 其中,TF/IDF算法中,score(q,d)为相关性打分函数,其中q为查询语句,d为匹配 的文档;coord(q,d)为评分因子,基于文档中出现查询项的个数;queryNorm(q)为查询的标 准查询;t为分词后的词项;tf(tind)为词项t在文档d中出现的次数;idf(t)为出现词项t的 5 CN 111597412 A 说 明 书 3/6 页 文档数;boost(t)为查询时候的查询项加权,控制相关度;norm(t,d)为长度相关的加权因 子。 本发明的有益效果:本发明通过词根与衍生词的关联,描绘了词根的联想数据的 来源,通过对词根的合理使用和科学管理,加速了整个词根规范管理的进度,更贴合企业生 产的需要,同时也明确了各维度的服务方向;解决了企业在大数据搜索和应用中数据偏向 性精准获取的难题,提高了数据响应质量,提高了被搜索的几率;减少了企业对大数据的搜 索和管理的难度,协助企业完成对数据搜索的智能应用,为企业信息系统的建设和发展提 供有力支撑;各模块相互之间使用接口通信,降低了功能模块的耦合度,提高了模块的复用 率,降低了系统后期改造升级的成本。通过该检索系统和方法,提高了数据精准度,节约了 使用者的信息获取时间。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。 图1是根据本发明实施例所述的一种基于ElasticSearch实现多维度智能搜索相 关数据的系统和方法的流程图; 图2是根据本发明实施例所述的一种基于ElasticSearch实现多维度智能搜索相 关数据的系统和方法使用ES分词器将“中国地区的苹果”进行分词的过程示意图; 图3是根据本发明实施例所述的一种基于ElasticSearch实现多维度智能搜索相 关数据的系统和方法在“电子科技”维度下搜索“中国地区的苹果”的结果示意图; 图4是根据本发明实施例所述的一种基于ElasticSearch实现多维度智能搜索相 关数据的系统和方法的热度计分趋势图; 图5是根据本发明实施例所述的一种基于ElasticSearch实现多维度智能搜索相 关数据的系统和方法的系统架构图。
分享到:
收藏