2015-06-04 3 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.

Единственным обходным решением, которое я вижу, является создание пользовательского ограничения, которое выполняет cts: geospatial-boxes() в XQuery или cts.geospatialBoxes() в JavaScript, устанавливает модуль на сервере и ссылается на пользовательское ограничение в запрос. Для получения дополнительной информации см:

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

The Rest API исправления должны быть в 8.0-4 – ehennum

Смежные вопросы