一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

可按租户配置的多权重搜索排序的方法和系统与流程

2022-02-20 00:23:21 来源:中国专利 TAG:


1.本技术涉及前端开发领域,具体而言,涉及一种可按租户配置的多权重搜索排序的方法和系统。


背景技术:

2.不同企业客户在特赞提供的saas平台上(“saas平台”以下简称“租户”,每家企业客户对应有自己的租户)管理的内容资产对应的信息字段(“信息字段“以下简称“metadata”)各不相同,在搜索管理的内容资产时,哪些字段可以被搜索到,以及哪些字段需要被优先搜索到,每一位企业客户的要求各不相同,特别是不同行业的企业客户,要求差异更大。
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.根据租户域名在租户信息表中查询租户信息,其中包括但不限于租户id、租户名称、租户唯一码在内的一系列信息;
30.根据租户唯一码访问数据库;
31.根据产品编码、场景编码从数据库中的搜索权重表提取权重配置信息。
32.进一步的,所述基于字段的权重配置对字段打分包括:
33.对多字段一起打分得到该搜索请求的总得分;
34.对每个字段单独打分得到每个字段的单独得分。
35.更进一步的,对多字段一起打分,即使用multi_match对多字段一起进行打分。
36.更进一步的,对每个字段单独打分,即使用function_score对每个字段进行单个的打分机制,通过如下公式:
37.score=boost*(log(1 (n-n 0.5)/(n 0.5)))*(freq/(freq k1*(1-b b* dl/avgdl))),
38.其中n为包含字段的文档总数;n为包含术语的文档数;freq为1.0;boost为可配置的权重值,默认值为1;avgdl为字段平均长度;dl为字段长度;b为长度归一化参数;k1为项饱和参数;
39.得到各个字段的得分。
40.进一步的,所述基于字段的打分确定搜索结果的排序包括:
41.采用多重匹配,通过向量空间模型计分查询确定搜索脚本;
42.通过搜索脚本组装的查询语句得到搜索结果;
43.根据字段的得分排序搜索结果。
44.一种可按租户配置的多权重搜索排序的系统,其特征在于,包括:
45.字段权重配置模块,用于供租户基于维度设定字段的权重配置,其中维度包括租户域名、产品编码、场景编码;
46.权重配置缓存模块,用于对字段的权重配置进行缓存,缓存后还需保存于数据库,缓存实时刷新;
47.维度信息提取模块,用于在用户输入的用于搜索的请求参数中提取租户域名、产品编码、场景编码三个维度信息;
48.权重配置提取模块,用于基于租户域名、产品编码、场景编码三个维度信息,在缓
存中提取字段的权重配置;
49.字段打分模块,用于基于字段的权重配置对字段打分;
50.搜索结果排序模块,用于基于字段的打分确定搜索结果的排序。
51.进一步的,所述字段权重配置模块用于:
52.将租户域名与设置的租户唯一码一一绑定;
53.为每个租户唯一码配套一个数据库,其中配置维度由产品编码、场景编码、字段和权重量度组成的权重表;
54.通过租户唯一码只能查看并设置其所属的数据库的字段权重配置。
55.进一步的,所述权重配置缓存模块用于:
56.将缓存内容保存于数据库;
57.根据字段的权重配置信息的更改实时更新缓存内容;
58.将更新的缓存内容重新保存。
59.进一步的,所述维度信息提取模块用于:
60.根据用户的请求参数检索用户登录的租户域名;
61.通过传参得到用户选择的产品、场景信息;
62.从产品、场景信息中提取产品编码和场景编码;
63.得到该用户的租户域名、产品编码、场景编码。
64.进一步的,所述权重配置提取模块用于:
65.根据租户域名在租户信息表中查询租户信息,其中包括但不限于租户id、租户名称、租户唯一码在内的一系列信息;
66.根据租户唯一码访问数据库;
67.根据产品编码、场景编码从数据库中的搜索权重表提取权重配置信息。
68.进一步的,所述字段打分模块用于:
69.对多字段一起打分得到该搜索请求的总得分;
70.对每个字段单独打分得到每个字段的单独得分。
71.更进一步的,对多字段一起打分,即使用multi_match对多字段一起进行打分。
72.更进一步的,对每个字段单独打分,即使用function_score对每个字段进行单个的打分机制,通过如下公式:
73.score=boost*(log(1 (n-n 0.5)/(n 0.5)))*(freq/(freq k1*(1-b b* dl/avgdl))),
74.其中n为包含字段的文档总数;n为包含术语的文档数;freq为1.0;boost为可配置的权重值,默认值为1;avgdl为字段平均长度;dl为字段长度;b为长度归一化参数;k1为项饱和参数;
75.得到各个字段的得分。
76.进一步的,所述搜索结果排序模块用于:
77.采用多重匹配,通过向量空间模型计分查询确定搜索脚本;
78.通过搜索脚本组装的查询语句得到搜索结果;
79.根据字段的得分排序搜索结果。
80.一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,其特征在于,
所述计算机程序在所述处理器中执行可实现以上任一种方法。
81.一种存储介质,存储计算机程序,其特征在于,所述计算机程序在处理器中执行可实现以上任一种方法。
82.在本技术实施例中,采用多维度配置不同权重的方式,通过提取用户基于租户域名、产品编码、场景编码三个维度设定的字段的权重配置信息,对字段的权重配置信息进行缓存,在用户输入的用于搜索的请求参数中提取租户域名、产品编码、场景编码三个维度信息,在缓存中提取字段的权重配置信息,对字段打分来确定搜索结果的排序,实现了根据企业客户不同的要求进行针对性的搜索设置的技术效果,进而解决了现有技术无法生成更有针对性的搜索权重设置的技术问题。
附图说明
83.构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
84.图1是根据本技术实施例的可按租户配置的多权重搜索排序的方法的流程图;图2是根据本技术实施例的租户获取域名的示意图。
具体实施方式
85.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
86.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
87.在本技术中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的系统、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
88.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
89.此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个系统、元件或组成部分之间内部的连通。
对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
90.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
91.根据本发明实施例,如图1所示,提供了一种可按租户配置的多权重搜索排序的方法,该方法包括如下的步骤:
92.s100、提取用户基于租户域名、产品编码、场景编码三个维度设定的字段的权重配置信息;
93.s200、对字段的权重配置信息进行缓存;
94.s300、在用户输入的用于搜索的请求参数中提取租户域名、产品编码、场景编码三个维度信息;
95.s400、基于租户域名、产品编码、场景编码三个维度信息,在缓存中提取字段的权重配置信息;
96.s500、基于字段的权重配置对字段打分;
97.s600、基于字段的打分确定搜索结果的排序。
98.在此实施例中,如图2所示,所述得到用户基于租户域名、产品编码、场景编码三个维度设定的字段的权重配置信息包括:
99.将租户域名与设置的租户唯一码一一绑定;
100.为每个租户唯一码配套一个数据库,其中配置维度由产品编码、场景编码、字段和权重量度组成的权重表;
101.通过租户唯一码只能查看并设置其所属的数据库的字段权重配置。
102.在此实施例中,所述对字段的权重配置信息进行缓存包括:
103.s202、将缓存内容保存于数据库;
104.s204、根据字段的权重配置信息的更改实时更新缓存内容;
105.s206、将更新的缓存内容重新保存。
106.在此实施例中,所述在用户输入的用于搜索的请求参数中提取租户域名、产品编码、场景编码三个维度信息包括:
107.s302、根据用户的请求参数检索用户登录的租户域名;
108.s304、通过传参得到用户选择的产品、场景信息;
109.s306、从产品、场景信息中提取产品编码和场景编码;
110.s308、得到该用户的租户域名、产品编码、场景编码。
111.在此实施例中,所述在缓存中提取字段的权重配置包括:
112.s402、根据租户域名在租户信息表中查询租户信息,其中包括但不限于租户id、租户名称、租户唯一码在内的一系列信息;
113.s404、根据租户唯一码访问数据库;
114.s406、根据产品编码、场景编码从数据库中的搜索权重表提取权重配置信息。
115.在此实施例中,所述基于字段的权重配置对字段打分包括:
116.对多字段一起打分得到该搜索请求的总得分;
117.对每个字段单独打分得到每个字段的单独得分。
118.在进一步的此实施例中,对多字段一起打分,即使用multi_match对多字段一起进
行打分。
119.在进一步的此实施例中,对每个字段单独打分,即使用function_score对每个字段进行单个的打分机制,通过如下公式:
120.score=boost*(log(1 (n-n 0.5)/(n 0.5)))*(freq/(freq k1*(1-b b* dl/avgdl))),
121.其中n为包含字段的文档总数;n为包含术语的文档数;freq为1.0;boost为可配置的权重值,默认值为1;avgdl为字段平均长度;dl为字段长度;b为长度归一化参数;k1为项饱和参数;
122.得到各个字段的得分。
123.在此实施例中,所述基于字段的打分确定搜索结果的排序包括:
124.s602、采用多重匹配,通过向量空间模型计分查询确定搜索脚本;
125.s604、通过搜索脚本组装的查询语句得到搜索结果;
126.s606、根据字段的得分排序搜索结果。
127.从以上的描述中,可以看出,本发明实现了如下技术效果:
128.在本技术实施例中,对不同不同产品不同场景的搜索,配置有缓存机制,而且支持对字段权重的修改支持实时刷新,保证搜索的字段权重的实时性。
129.还包括一个实施例,一种可按租户配置的多权重搜索排序的系统,其特征在于,包括:
130.字段权重配置模块,用于供租户基于维度设定字段的权重配置,其中维度包括租户域名、产品编码、场景编码;
131.权重配置缓存模块,用于对字段的权重配置进行缓存,缓存后还需保存于数据库,缓存实时刷新;
132.维度信息提取模块,用于在用户输入的用于搜索的请求参数中提取租户域名、产品编码、场景编码三个维度信息;
133.权重配置提取模块,用于基于租户域名、产品编码、场景编码三个维度信息,在缓存中提取字段的权重配置;
134.字段打分模块,用于基于字段的权重配置对字段打分;
135.搜索结果排序模块,用于基于字段的打分确定搜索结果的排序。
136.在此实施例中,所述字段权重配置模块用于:
137.将租户域名与设置的租户唯一码一一绑定;
138.为每个租户唯一码配套一个数据库,其中配置维度由产品编码、场景编码、字段和权重量度组成的权重表;
139.通过租户唯一码只能查看并设置其所属的数据库的字段权重配置。
140.在此实施例中,所述权重配置缓存模块用于:
141.将缓存内容保存于数据库;
142.根据字段的权重配置信息的更改实时更新缓存内容;
143.将更新的缓存内容重新保存。
144.在此实施例中,所述维度信息提取模块用于:
145.根据用户的请求参数检索用户登录的租户域名;
146.通过传参得到用户选择的产品、场景信息;
147.从产品、场景信息中提取产品编码和场景编码;
148.得到该用户的租户域名、产品编码、场景编码。
149.在此实施例中,所述权重配置提取模块用于:
150.根据租户域名在租户信息表中查询租户信息,其中包括但不限于租户id、租户名称、租户唯一码在内的一系列信息;
151.根据租户唯一码访问数据库;
152.根据产品编码、场景编码从数据库中的搜索权重表提取权重配置信息。
153.在此实施例中,所述字段打分模块用于:
154.对多字段一起打分得到该搜索请求的总得分;
155.对每个字段单独打分得到每个字段的单独得分。
156.在进一步的此实施例中,对多字段一起打分,即使用multi_match对多字段一起进行打分。
157.在进一步的此实施例中,对每个字段单独打分,即使用function_score对每个字段进行单个的打分机制,通过如下公式:
158.score=boost*(log(1 (n-n 0.5)/(n 0.5)))*(freq/(freq k1*(1-b b* dl/avgdl))),
159.其中n为包含字段的文档总数;n为包含术语的文档数;freq为1.0;boost为可配置的权重值,默认值为1;avgdl为字段平均长度;dl为字段长度;b为长度归一化参数;k1为项饱和参数;
160.得到各个字段的得分。
161.在此实施例中,所述搜索结果排序模块用于:
162.采用多重匹配,通过向量空间模型计分查询确定搜索脚本;
163.通过搜索脚本组装的查询语句得到搜索结果;
164.根据字段的得分排序搜索结果。
165.还包括一个实施例,一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,其特征在于,所述计算机程序在所述处理器中执行可实现以上任一种方法。
166.还包括一个实施例,一种存储介质,存储计算机程序,其特征在于,所述计算机程序在处理器中执行可实现以上任一种方法。
167.还包括一个实施例,一个用户tenant_1对不同产品维度、场景维度下的不同字段配置不同的权重。
168.其中用户tenant_1配置的权重如下表1
169.[0170][0171]
表1
[0172]
可按租户配置的多权重搜索排序的方法执行如下的步骤:
[0173]
s100、提取用户基于租户域名、产品编码、场景编码三个维度设定的字段的权重配置信息;
[0174]
s200、对字段的权重配置信息进行缓存;
[0175]
s300、在用户输入的用于搜索的请求参数中提取租户域名、产品编码、场景编码三个维度信息;
[0176]
s400、基于租户域名、产品编码、场景编码三个维度信息,在缓存中提取字段的权重配置信息;
[0177]
s500、基于字段的权重配置对字段打分;
[0178]
s600、基于字段的打分确定搜索结果的排序。
[0179]
在此实施例中,所述得到用户基于租户域名、产品编码、场景编码三个维度设定的
字段的权重配置信息包括:
[0180]
将租户域名与设置的租户唯一码一一绑定;
[0181]
为每个租户唯一码配套一个数据库,其中配置维度由产品编码、场景编码、字段和权重量度组成的权重表;
[0182]
通过租户唯一码只能查看并设置其所属的数据库的字段权重配置。
[0183]
在此实施例中,如表1所示,该用户tenant_1设置,在产品material中,在场景default下搜索,字段name和title的权重大于tag,tag的权重大于des;而在场景first_page下搜索,字段title的权重大于name,name的权重大于tag;
[0184]
在产品product中,在场景default下搜索,字段content的权重大于address, address的权重大于title;而在场景tempalate下搜索,字段des的权重大于 metadata,metadata的权重大于title。
[0185]
在此实施例中,所述对字段的权重配置信息进行缓存包括:
[0186]
s202、将缓存内容保存于数据库;
[0187]
s204、根据字段的权重配置信息的更改实时更新缓存内容;
[0188]
s206、将更新的缓存内容重新保存。
[0189]
在此实施例中,将用户tenant_1设置的权重配置信息缓存即缓存表1信息,当用户tenant_1重新配置字段权重时,得到如下表2:
[0190][0191]
表2
[0192]
如表2所示,该用户tenant_1在修改设置后,在产品material中,在场景default 下搜索,字段title的权重大于tag,tag的权重大于name,name的权重大于des。
[0193]
将修改后的权重配置信息缓存,更新后的缓存内容重新保存于数据库,此时数据库中的权重配置信息为表2所示信息。
[0194]
在此实施例中,所述在用户输入的用于搜索的请求参数中提取租户域名、产品编码、场景编码三个维度信息包括:
[0195]
s302、根据用户的请求参数检索用户登录的租户域名;
[0196]
s304、通过传参得到用户选择的产品、场景信息;
[0197]
s306、从产品、场景信息中提取产品编码和场景编码;
[0198]
s308、得到该用户的租户域名、产品编码、场景编码。
[0199]
在此实施例中,用户登录tenant_1,选择产品material,进入场景default,输入请求参数。
[0200]
后台收到请求参数,开始查询发出该请求参数的tenant_1的租户域名,并通过传参得到该请求参数位于产品material、场景default维度下,从其中提取产品编码、场景编码,最后得到该用户使用的tenant_1的租户域名,产品material的产品编码、场景default的场景编码。
[0201]
在此实施例中,所述在缓存中提取字段的权重配置包括:
[0202]
s402、根据租户域名在租户信息表中查询租户信息,其中包括但不限于租户id、租户名称、租户唯一码在内的一系列信息;
[0203]
s404、根据租户唯一码访问数据库;
[0204]
s406、根据产品编码、场景编码从数据库中的搜索权重表提取权重配置信息。
[0205]
在此实施例中,租户信息表记录所有租户的所有租户信息,根据tenant_1的租户域名在租户信息表中查询一系列租户信息,提取其中的租户唯一码。通过租户唯一码访问其配套的数据库,得到其中保存的搜索权重表,如表2所示。根据产品编码、场景编码在搜索权重表中提取相关的字段权重配置信息。
[0206]
在此实施例中,所述基于字段的权重配置对字段打分包括:
[0207]
对多字段一起打分得到该搜索请求的总得分;
[0208]
对每个字段单独打分得到每个字段的单独得分。
[0209]
在进一步的此实施例中,对多字段一起打分,即使用multi_match对多字段一起进行打分。
[0210]
在进一步的此实施例中,对每个字段单独打分,即使用function_score对每个字段进行单个的打分机制,通过如下公式:
[0211]
score=boost*(log(1 (n-n 0.5)/(n 0.5)))*(freq/(freq k1*(1-b b* dl/avgdl))),
[0212]
其中n为包含字段的文档总数;n为包含术语的文档数;freq为1.0;boost为可配置的权重值,默认值为1;avgdl为字段平均长度;dl为字段长度;b为长度归一化参数;k1为项饱和参数;
[0213]
得到各个字段的得分。
[0214]
在此实施例中,根据公式可得该用户输入的请求参数中字段title的得分高于 tag,tag的得分高于name,name的得分高于des。
[0215]
在此实施例中,所述基于字段的打分确定搜索结果的排序包括:
[0216]
s602、采用多重匹配,通过向量空间模型计分查询确定搜索脚本;
[0217]
s604、通过搜索脚本组装的查询语句得到搜索结果;
[0218]
s606、根据字段的得分排序搜索结果。
[0219]
在此实施例中,根据该用户的搜素请求得到tenant_1租户在material产品的 default场景中的搜索脚本,此搜索脚本是以multi_match的方式向量空间模型计分查询实现的一种查询脚本。
[0220]
脚本程序如下:
[0221]
[0222]
[0223]
[0224][0225]
当选择functions的打分方式则对每个字段权重处理,functions中打分是为了 title能够超前展示做的增强打分机制。
[0226]
根据此搜索脚本组装的查询语句得到搜索结果,并根据计分结果来对搜索结果进行排序。
[0227]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0228]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0229]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修
改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献