我正在使用join_fields来存储具有父子关系的文档。 父母和孩子都有文本数据,需要针对不同的用例进行搜索。对于标准用例,has_parent和has_children查询工作正常。
但是,对我来说,用例之一是根据父文档中的文本字段搜索父文档,并返回父文档的父ID。
问题是,执行以下查询会给至少有一个孩子的父母更高的分数,而无论查询文本与另一父文档(没有孩子)的文本与近乎匹配的事实。
client.search({
index: '**',
body: {
query: {
match: {
text: "**"
}
}
},
}).then((res)=>{
console.log(res.hits.hits[0]);
})
简单匹配查询不适用于联接关系吗?
目标:我想基于独立于其子级的父文档文本字段搜索最相关的父文档,并检索其parent_id。