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

http://docs.marklogic.com/cts.box

http://docs.marklogic.com/cts:box