Freebase search_api и исключая результаты по указанному типу - PullRequest
1 голос
/ 04 мая 2011

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

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

1 Ответ

0 голосов
/ 05 мая 2011

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

[{
  "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"
}]​
...