使用Freebase搜索服务的多字搜索查询

时间:2012-10-15 20:48:58

标签: search google-api freebase

我正在尝试使用搜索服务API搜索主题,我想使用多个单词来缩小搜索结果范围。例如,搜索“Tide”会返回许多结果,这些结果反映了Freebase中单词​​和不同主题的不同含义。但是,由于我对与Tide作为洗涤剂和品牌有关的主题特别感兴趣,我想通过在搜索字符串中添加信息性词语来查找结果。例如,通过搜索“潮汐+洗涤剂+家用+肥皂”,我希望提高Tide与洗涤剂等相关的结果。我曾预计此类搜索将基于某种矢量空间评分,如Lucene所以并非所有术语都必须出现在索引主题文档中。但是,由于查询无法返回结果,因此似乎必须存在所有单词。

https://www.googleapis.com/freebase/v1/search?query=tide+detergent+household+soap&indent=true

返回结果:

{
 "status": "200 OK",
 "result": [
  ],
 "cost": 6,
 "hits": 0
}

有没有办法使用过滤器解决这个问题?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

Freebase关键字搜索API确实接受多个关键字,但它主要是从主题名称开始索引,而不是从与主题相关的文档中找到的关键字(如Google搜索)。 Freebase目前没有名为"潮洗涤剂家用香皂的主题"。

你的直觉是正确的,使用过滤器来获得你想要的结果。按类型/业务/品牌过滤应该为您提供您正在寻找的内容:

https://www.googleapis.com/freebase/v1/search?query=tide&filter=(all+type%3A%2Fbusiness%2Fbrand)&indent=true