Freebase search_api и исключая результаты по указанному типу

Кто-нибудь знает, как исключить некоторые темы с указанным типом (ами) с помощью поиска API и MQL?

Например, я пытаюсь найти все темы "Люди Voodoo" и исключить только те, которые имеют типы композиций и релизов, и отсортировать результаты по счету desc: http://tinyurl.com/3tjkb7y. Сортировка работает отлично, но я не могу найти функциональность для исключения:(Я пытаюсь использовать mql_filter: http://tinyurl.com/644xkow, но выпуски все еще там. И еще один вопрос: я вижу в параметре type_strict возможные значения: "все", "любой", "должен". Но нет значения "не" или "не в". Нужный результат можно получить любым другим способом?

1 ответ

Решение

Синтаксис, который вы ищете, является "необязательным": "запрещено". В вашем запросе это будет выглядеть так:

[{
  "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"
}]​
Другие вопросы по тегам