gpt4 book ai didi

vespa - 如何在搜索结果中包含导入的字段?

转载 作者:行者123 更新时间:2023-12-01 09:14:49 25 4
gpt4 key购买 nike

我正在使用 document references将父字段导入子文档。虽然对父字段的搜索有效,但父字段本身似乎不包含在搜索结果中,只有子字段。

要使用文档中的示例,salesperson_name 确实 not 出现在 id:test:ad 的 fields 条目中: :1 在使用 query=John 时,或者在直接通过 GET 检索 id:test:ad::1 时。

这是我的文档模型的简化配置:

搜索定义

person.sd - 父级

search person {
document person {
field name type string {
indexing: summary | attribute
}
}

fieldset default {
fields: name
}
}

event.sd - child

search event {
document event {
field code type string {
indexing: summary | attribute
}
field speaker type reference<person> {
indexing: summary | attribute
}
}

import field speaker.name as name {}

fieldset default {
fields: code
}
}

文件

p1 - 人

{
"fields": {
"name": "p1"
}
}

e1 - 事件

{
"fields": {
"code": "e1",
"speaker": "id:n1:person::1"
}
}

查询结果

curl -s "http://localhost:8080/search/?yql=select%20*%20from%20sources%20*where%20name%20contains%20%22p1%22%3B"| python -m json.tool

这会返回 e1 和 p1,正如您所期望的那样,因为 name 都存在于两者中。 但是e1fields不包含name

{
"root": {
"children": [
{
"fields": {
"documentid": "id:n1:person::1",
"name": "p1",
"sddocname": "person"
},
"id": "id:n1:person::1",
"relevance": 0.0017429193899782135,
"source": "music"
},
{
"fields": {
"code": "e1",
"documentid": "id:n1:event::1",
"sddocname": "event",
"speaker": "id:n1:person::1"
},
"id": "id:n1:event::1",
"relevance": 0.0017429193899782135,
"source": "music"
}
],
...
"fields": {
"totalCount": 2
},
}
}

最佳答案

目前您需要将导入的“名称”添加到默认摘要中

 import field speaker.name as name {}

document-summary default {
summary name type string{}
}

http://docs.vespa.ai/documentation/document-summaries.html 中有关显式文档摘要的更多信息

您的查询结果将返回

 "children": [
{
"fields": {
"documentid": "id:n1:person::1",
"name": "p1",
"sddocname": "person"
},
"id": "id:n1:person::1",
"relevance": 0.0017429193899782135,
"source": "stuff"
},
{
"fields": {
"code": "e1",
"documentid": "id:n1:event::1",
"name": "p1",
"sddocname": "event",
"speaker": "id:n1:person::1"
},
"id": "id:n1:event::1",
"relevance": 0.0017429193899782135,
"source": "stuff"
}
],

我们将改进这方面的文档。感谢您非常详细的撰写。

关于vespa - 如何在搜索结果中包含导入的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com