System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及文本处理,尤其涉及一种文本搜索提速方法、装置、设备及存储介质。
技术介绍
1、elasticsearch是一种流行的开源搜索引擎,以其在文本搜索、分布式数据存储和分析等方面的卓越性能而闻名。elasticsearch基于lucene搜索引擎构建,提供了强大的全文搜索和分布式计算能力,适用于各种应用领域,包括电子商务、日志分析、内容搜索等。
2、尽管elasticsearch在处理中小规模数据集合中表现出色,但在千亿级别的数据检索任务中,性能问题变得更加明显。这包括查询响应时间延迟、大量资源占用、性能波动等问题,对系统的可用性和用户体验产生负面影响。尤其是在一些特定领域下,通常需要用n个检索关键词对全量的数据做检索。在上述检索场景中,响应时间很可能在分钟级别,甚至无响应,无法满足实时交互的业务需求。
技术实现思路
1、为了解决上述技术问题,本公开提供了一种文本搜索提速方法、装置、设备及存储介质。
2、本公开实施例的第一方面提供了一种文本搜索提速方法,该方法包括:
3、基于预设的质量分数规则,计算各个待检索文本对应的质量分数;
4、按照各个待检索文本对应的质量分数从高到低的顺序,将各个待检索文本插入对应的索引;
5、响应于文本搜索请求,在所述文本搜索请求对应的索引中命中预设数量的待检索文本,则停止搜索;
6、将所述预设数量的待检索文本确定为搜索结果并返回。
7、可选地,所述基于预设的质量分数规
8、获取各个待检索文本对应的质量参数,所述质量参数包括但不限于文本来源、互动数量、发布时间、重要程度标签中的至少一种;
9、对所述质量参数进行归一化处理;
10、基于预设的评分规则,采用经过归一化处理的质量参数计算所述质量分数。
11、可选地,所述在所述文本搜索请求对应的索引中命中预设数量的待检索文本,则停止搜索,包括:
12、从所述文本搜索请求中提取搜索条件;
13、依次遍历所述搜索条件对应的索引中的待检索文本,直到遍历得到预设数量的待检索文本,则停止继续遍历,得到所述文本搜索请求对应的预设数量的质量分数最高的待检索文本。
14、可选地,所述将所述预设数量的待检索文本确定为搜索结果并返回,包括:
15、获取所述预设数量的待检索文本对应的最佳匹配分数;
16、基于所述预设数量的待检索文本对应的质量分数和最佳匹配分数,计算所述预设数量的待检索文本对应的总分数;
17、将所述预设数量的待检索文本按照对应的总分数从高到低的顺序排序,将排序后的所述预设数量的待检索文本确定为搜索结果并返回。
18、本公开实施例的第二方面提供了一种文本搜索提速装置,该装置包括:
19、计算模块,用于基于预设的质量分数规则,计算各个待检索文本对应的质量分数;
20、排序模块,用于按照各个待检索文本对应的质量分数从高到低的顺序,将各个待检索文本插入对应的索引;
21、搜索模块,用于响应于文本搜索请求,在所述文本搜索请求对应的索引中命中预设数量的待检索文本,则停止搜索;
22、返回模块,用于将所述预设数量的待检索文本确定为搜索结果并返回。
23、可选地,所述计算模块包括:
24、第一获取单元,用于获取各个待检索文本对应的质量参数,所述质量参数包括但不限于文本来源、互动数量、发布时间、重要程度标签中的至少一种;
25、归一单元,用于对所述质量参数进行归一化处理;
26、第一计算单元,用于基于预设的评分规则,采用经过归一化处理的质量参数计算所述质量分数。
27、可选地,所述搜索模块包括:
28、提取单元,用于从所述文本搜索请求中提取搜索条件;
29、遍历单元,用于依次遍历所述搜索条件对应的索引中的待检索文本,直到遍历得到预设数量的待检索文本,则停止继续遍历,得到所述文本搜索请求对应的预设数量的质量分数最高的待检索文本。
30、可选地,所述返回模块包括:
31、第二获取单元,用于获取所述预设数量的待检索文本对应的最佳匹配分数;
32、第二计算单元,用于基于所述预设数量的待检索文本对应的质量分数和最佳匹配分数,计算所述预设数量的待检索文本对应的总分数;
33、返回单元,用于将所述预设数量的待检索文本按照对应的总分数从高到低的顺序排序,将排序后的所述预设数量的待检索文本确定为搜索结果并返回。
34、本公开实施例的第三方面提供了一种计算机设备,包括存储器和处理器,以及计算机程序,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,实现如上述第一方面的文本搜索提速方法。
35、本公开实施例的第四方面提供了一种计算机可读存储介质,存储介质中存储有计算机程序,当计算机程序被处理器执行时,实现如上述第一方面的文本搜索提速方法。
36、本公开实施例提供的技术方案与现有技术相比具有如下优点:
37、在本公开实施例提供的文本搜索提速方法、装置、设备及存储介质中,通过基于预设的质量分数规则,计算各个待检索文本对应的质量分数;按照各个待检索文本对应的质量分数从高到低的顺序,将各个待检索文本插入对应的索引;响应于文本搜索请求,在所述文本搜索请求对应的索引中命中预设数量的待检索文本,则停止搜索;将所述预设数量的待检索文本确定为搜索结果并返回。能够通过对待检索文本进行预排序,并在搜索文本时基于该预排序结果,确定预设数量的待检索文本时停止搜索,从而将搜索过程中的实时计算前置,同时避免扫描全量数据,减小请求遍历深度,大大减少搜索花费的时间和计算资源,满足实时交互的业务需求。最终提升在千亿百亿级别数据场景下,多关键词检索性能,根据实际测试效果,在450亿数据中做检索,20个关键词场景,提升400%;50个关键词场景,提升1000%;100个关键词提升800%;150个关键词场景,提升3000%,还能够提升实时交互效果,提升用户使用体验,优化前,实际请求响应时间有可能到达300s+,多数请求在几十秒,优化后,请求95%响应时间在10s内,请求80%响应时间在5s内。
本文档来自技高网...【技术保护点】
1.一种文本搜索提速方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于预设的质量分数规则,计算各个待检索文本对应的质量分数,包括:
3.根据权利要求1所述的方法,其特征在于,所述在所述文本搜索请求对应的索引中命中预设数量的待检索文本,则停止搜索,包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述预设数量的待检索文本确定为搜索结果并返回,包括:
5.一种文本搜索提速装置,其特征在于,所述装置包括:
6.根据权利要求5所述的装置,其特征在于,所述计算模块包括:
7.根据权利要求5所述的装置,其特征在于,所述搜索模块包括:
8.根据权利要求5所述的装置,其特征在于,所述返回模块包括:
9.一种计算机设备,其特征在于,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当
...【技术特征摘要】
1.一种文本搜索提速方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于预设的质量分数规则,计算各个待检索文本对应的质量分数,包括:
3.根据权利要求1所述的方法,其特征在于,所述在所述文本搜索请求对应的索引中命中预设数量的待检索文本,则停止搜索,包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述预设数量的待检索文本确定为搜索结果并返回,包括:
5.一种文本搜索提速装置,其特征在于,所述装置包括:
6.根据权利要求5所述的装置...
【专利技术属性】
技术研发人员:张帅星,杜江涛,方省,曹家,罗引,王磊,
申请(专利权)人:北京中科闻歌科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。