这是一个创建于 733 天前的主题,其中的信息可能已经有所发展或是发生改变。
请教大佬们:
父子关系的索引,match 一个字段,比如字段 name ,匹配父索引的 name 或子索引的 name 。
最终返回前端结构是一个父,带三子。优先匹配父 name ,然后找三个子,三子也按 name 匹配排序。如果父 name 没匹配,那就是子 name 匹配了也算。
具体场景就如 公司-员工结构,搜索的名字可能匹配公司名,或者员工名。优先匹配公司名,然后下面展示 3 个员工名。员工名也是按匹配优先度排序。
eg:
搜索 name match 张三
1. 张三有限公司(张三,王五,xx )---- 公司名含张三,员工名含张三 最优先
2. 张三无限公司( xx ,xx ,xx ) ---- 公司名含张三,员工名不含张三 次优先
3. 李四有限公司(张三,xx ,xx ) ---- 公司名不含张三,员工名含张三 最低优先
公司、员工都不含张三则不符合条件
看到个 top_hist 但里面 hits 的内容是不能 match 排序
大佬们有什么好的方法吗
4 条回复 • 2022-06-15 15:12:59 +08:00
|
|
1
mosliu 2022-06-14 23:14:13 +08:00
感觉可以考虑用 script 自行计算 score 。 例如 parent 字段 match 后 分数赋 1000000 child 字段有的话 分数加上几百
|
|
|
2
weofuh 2022-06-15 00:06:46 +08:00 via iPhone
should 查询
|
|
|
3
wapsscom 2022-06-15 10:27:32 +08:00
multi_match 可以使用 ^ 字符语法为单个字段提升权重
|
|
|
4
iSNN 2022-06-15 15:12:59 +08:00
目前处理就分两次查了,先查公司 id ,再拿公司 Id 请求一次查员工 Id...
|