按 'vespa.ai' 中的日期属性对结果集进行排序
Sorting result set by date attribute in 'vespa.ai'
如何按日期(unixtime)对结果集进行排序?
search post {
document post {
field created type long {
indexing: summary | attribute
}
field description type string {
indexing: summary | index
}
}
rank-profile date inherits default {
first-phase {
expression: attribute(created)
}
}
}
卷曲:
curl -s -H "Content-Type: application/json" --data
'{"yql" : "select * from post where description contains \"computer\";","ranking":"date"}'
http://localhost:8080/search/ | jq .
结果集未按 'created' 排序。
'relevance' 始终为零:
{
"id": "id:post:post::1",
"relevance": 0,
"source": "content",
"fields": {...}
}
对于长属性的直接排序,使用 sorting/ordering 功能比更强大但更昂贵的排名框架更有效。
如排序文档中所述,对于 sorting/ordering 的查询,建议使用内置的 unranked 排名配置文件。另外,我不确定在使用 JSON 查询语言时是否允许使用 ranking 别名 - 我相信您需要使用完整的 ranking.profile参数嵌套在JSON中。
您的 curl
将类似于:
curl -s -H "Content-Type: application/json" --data
'{"yql" : "select * from post where description contains \"computer\" order by created desc;","ranking": { "profile" : "unranked" } }'
http://localhost:8080/search/ | jq .
如何按日期(unixtime)对结果集进行排序?
search post {
document post {
field created type long {
indexing: summary | attribute
}
field description type string {
indexing: summary | index
}
}
rank-profile date inherits default {
first-phase {
expression: attribute(created)
}
}
}
卷曲:
curl -s -H "Content-Type: application/json" --data
'{"yql" : "select * from post where description contains \"computer\";","ranking":"date"}'
http://localhost:8080/search/ | jq .
结果集未按 'created' 排序。 'relevance' 始终为零:
{
"id": "id:post:post::1",
"relevance": 0,
"source": "content",
"fields": {...}
}
对于长属性的直接排序,使用 sorting/ordering 功能比更强大但更昂贵的排名框架更有效。
如排序文档中所述,对于 sorting/ordering 的查询,建议使用内置的 unranked 排名配置文件。另外,我不确定在使用 JSON 查询语言时是否允许使用 ranking 别名 - 我相信您需要使用完整的 ranking.profile参数嵌套在JSON中。
您的 curl
将类似于:
curl -s -H "Content-Type: application/json" --data
'{"yql" : "select * from post where description contains \"computer\" order by created desc;","ranking": { "profile" : "unranked" } }'
http://localhost:8080/search/ | jq .