Marklogic|NodeJS API 按地理位置查询分面
Marklogic|NodeJS API facet query by geolocation
所以,我有这样的结构
{
city: "City",
geolocation:
{
lat: 55,
lng:55
}
}
而且我想通过地理位置进行计数,我也是 return 这座城市,但我无法通过地理位置来获取工作面。我创建了地理空间元素索引、地理空间元素对索引,并针对查询尝试了以下操作:
qb.facet("count", qb.property("geolocation"))
qb.facet("count", qb.geoPropertyPair("geolocation", "lat", "lng"))
qb.facet("count", qb.geoProperty("geolocation"))
qb.facet("count", qb.geoElement("geolocation"))
对于所有这些,我的方面查询是空的或不存在的。我做错了什么?
我能够重现错误。虽然对 JSON 文档的地理空间查询有效,但对 JSON 文档的地理空间方面在 REST API.
中不起作用
我能看到的唯一解决方法是编写一个自定义约束,在 XQuery 中执行 cts:geospatial-boxes() 或在 JavaScript 中执行 cts.geospatialBoxes(),将模块安装在服务器,并在查询中引用自定义约束。欲了解更多信息,请参阅:
http://docs.marklogic.com/guide/search-dev/search-api#id_49750
http://docs.marklogic.com/jsdoc/config.query.custom.html
所以,我有这样的结构
{
city: "City",
geolocation:
{
lat: 55,
lng:55
}
}
而且我想通过地理位置进行计数,我也是 return 这座城市,但我无法通过地理位置来获取工作面。我创建了地理空间元素索引、地理空间元素对索引,并针对查询尝试了以下操作:
qb.facet("count", qb.property("geolocation"))
qb.facet("count", qb.geoPropertyPair("geolocation", "lat", "lng"))
qb.facet("count", qb.geoProperty("geolocation"))
qb.facet("count", qb.geoElement("geolocation"))
对于所有这些,我的方面查询是空的或不存在的。我做错了什么?
我能够重现错误。虽然对 JSON 文档的地理空间查询有效,但对 JSON 文档的地理空间方面在 REST API.
中不起作用我能看到的唯一解决方法是编写一个自定义约束,在 XQuery 中执行 cts:geospatial-boxes() 或在 JavaScript 中执行 cts.geospatialBoxes(),将模块安装在服务器,并在查询中引用自定义约束。欲了解更多信息,请参阅:
http://docs.marklogic.com/guide/search-dev/search-api#id_49750
http://docs.marklogic.com/jsdoc/config.query.custom.html