2015-06-04 30 views
0

查詢所以,我有一個像Marklogic |的NodeJS API方面根據地理位置

{ 
    city: "City", 
    geolocation: 
    { 
     lat: 55, 
     lng:55 
    } 
} 

的結構,我想做到通過地理定位的次數,我回到這個城市太多,但我不能得到通過的地理定位方面的工作。我創建了一個地理空間要素指標,地理空間元素的配對索引和查詢我試過如下:

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")) 

,並與所有這些我小的查詢爲空或不存在。我究竟做錯了什麼?

回答

3

我可以重現該錯誤。對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

+0

的REST API修復應該在8.0-4 – ehennum