【问题标题】:Freebase search_api and excluding results by specified typeFreebase search_api 并按指定类型排除结果
【发布时间】:2011-05-04 13:09:51
【问题描述】:
有谁知道,如何使用搜索 api 和 mql 排除一些指定类型的主题?
例如,我尝试查找所有主题“Voodoo People”,并仅排除那些具有组合和发布类型的主题,并按分数 desc 对结果进行排序:http://tinyurl.com/3tjkb7y。
排序工作完美,但我找不到排除功能:(
我正在尝试使用 mql_filter:http://tinyurl.com/644xkow,但版本仍然存在。
还有一个问题:我在 type_strict 参数中看到了可能的值:“all”、“any”、“should”。但是没有“不”或“不在”的价值。是否可以通过任何其他方式获得所需的结果?
【问题讨论】:
标签:
api
search
freebase
mql
【解决方案1】:
您正在寻找的语法是 "optional" : "forbidden"。在您的查询中,如下所示:
[{
"search": {
"query": "Voodoo People",
"score": null,
"mql_filter": [{
"type": {
"id": "/music/release",
"optional": "forbidden"
}
}]
},
"name": null,
"id": null,
"type": [],
"/common/topic/notable_for": {
},
"limit": 15,
"sort": "-search.score"
}]