【问题标题】:how to select category as well in freebase search widget?如何在 freebase 搜索小部件中选择类别?
【发布时间】:2013-03-30 08:03:54
【问题描述】:

我在我的项目中使用 Freebase Search Widget,使用它我可以从我的输入框中的建议列表中选择单词,但是如何在另一个文本框中获取类别呢?

示例:http://suggest-examples.freebaseapps.com/

如果我输入:James Cameron,它将在文本框中被选中,但我还希望在另一个文本框中选择类别?

代码:

$(function() {
  $("#myinput").suggest({
    key: "YOUR-API-KEY-GOES-HERE",
    filter:'(all type:/film/director)'
  });
});

【问题讨论】:

    标签: javascript jquery google-api freebase


    【解决方案1】:

    Freebase Search widget 使用Freebase Search API 建议实体。因此,当您在输入字段中输入“james cameron”时,您将发送以下搜索 API 请求:

    https://www.googleapis.com/freebase/v1/search?query=james+cameron&exact=false&prefixed=true
    

    您可以在该 API 调用的响应中看到它传回了名称、ID、排名以及实体的显着特征:

    {
      "mid": "/m/03_gd",
      "id": "/en/james_cameron",
      "name": "James Cameron",
      "notable": {
        "name": "Film Director",
        "id": "/m/02jknp"
      },
      "lang": "en",
      "score": 629.205872
    },...
    

    所有这些数据都可以通过搜索小部件中的 jQuery 回调访问,如下所示:

    $(function() {
      $("#myinput").suggest({
        key: "YOUR-API-KEY-GOES-HERE",
        filter:'(all type:/film/director)'
      }).bind("fb-select", function(e, data) {
        alert(data.name + ", " + data.id + " (" + data.notable.name + ")");
      });
    });
    

    在这种情况下,詹姆斯·卡梅隆 (/m/03_gd) 以电影导演 (/m/02jknp) 着称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-09
      相关资源
      最近更新 更多