我如何使用 CKAN API 通过多个标签搜索数据集?
How I search datasets by multiple tags using CKAN API?
我正在使用 API 版本 "ckan_version" 的 CKAN 门户:“2.5.x”
我的标签很少,我需要使用 API 这些标签发送
我需要 return 包或资源的匹配条目列表。
可以使用 do use package_search 端点来搜索具有所有给定标签的包,但它作为 "AND" 运算符工作,而我需要的是 "OR" 运算符。
例如:
- http://demo.ckan.org/api/3/action/package_search?fq=tags:contabilidade-social
<-- return 11 个包含 'contabilidade-social'
的包
- http://demo.ckan.org/api/3/action/package_search?fq=tags:contabilidade-social+governo
<-- return 11 个包含 'contabilidade-social' 和 'governo'
的包
- http://demo.ckan.org/api/3/action/package_search?fq=tags:contabilidade-social+governo+enogastronomia <-- return 0 个包,其中包含 'contabilidade-social' 和 'governo' 以及 'enogastronomia'。出于我的目的,它应该 return 与 'OR' 运算符匹配。
PS:我使用了前 10 个标签 (http://demo.ckan.org/api/action/package_search?facet.field=[%22tags%22]&facet.limit=10&rows=0)。
我认为它与 SOLR 和 postgresql 索引有关。
有办法吗?如果没有,是否可以扩展或创建一个可以使用这种搜索的方面?
尝试以下语法:
fq=tags:(tag1 OR tag2 OR tag3)
例如:
我正在使用 API 版本 "ckan_version" 的 CKAN 门户:“2.5.x” 我的标签很少,我需要使用 API 这些标签发送 我需要 return 包或资源的匹配条目列表。
可以使用 do use package_search 端点来搜索具有所有给定标签的包,但它作为 "AND" 运算符工作,而我需要的是 "OR" 运算符。 例如:
- http://demo.ckan.org/api/3/action/package_search?fq=tags:contabilidade-social <-- return 11 个包含 'contabilidade-social' 的包
- http://demo.ckan.org/api/3/action/package_search?fq=tags:contabilidade-social+governo <-- return 11 个包含 'contabilidade-social' 和 'governo' 的包
- http://demo.ckan.org/api/3/action/package_search?fq=tags:contabilidade-social+governo+enogastronomia <-- return 0 个包,其中包含 'contabilidade-social' 和 'governo' 以及 'enogastronomia'。出于我的目的,它应该 return 与 'OR' 运算符匹配。
PS:我使用了前 10 个标签 (http://demo.ckan.org/api/action/package_search?facet.field=[%22tags%22]&facet.limit=10&rows=0)。
我认为它与 SOLR 和 postgresql 索引有关。 有办法吗?如果没有,是否可以扩展或创建一个可以使用这种搜索的方面?
尝试以下语法:
fq=tags:(tag1 OR tag2 OR tag3)
例如: