我正在尝试对地理空间路径索引使用未经过滤的搜索,下面将显示所使用的查询以及设置地理空间路径索引所采取的步骤
cts:search(fn:doc(),
cts:path-geospatial-query("people_data/location",cts:circle(9000, cts:point(20.17581412460507, -178.86527779510456))),"unfiltered"
)
设置地理空间路径索引
xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin"
at "/MarkLogic/admin.xqy";
let $config := admin:get-configuration()
let $dbid := xdmp:database("Documents")
let $indexspec := admin:database-geospatial-path-index(
"people_data/location",
"wgs84",
fn:false(),
"long-lat-point",
"reject"
)
let $config := admin:database-add-geospatial-path-index($config, $dbid, $indexspec)
return
admin:save-configuration($config)
示例文档
<?xml version="1.0" encoding="UTF-8"?>
<people_data>
<name>Rubi_BANKER</name>
<age>20</age>
<location>-113.91629050483087, -31.137499994020736</location>
<gender>F</gender>
<dob>2003-02-01T06:38:15</dob>
<uri>/people/Rubi_BANKER/197316400652924</uri>
</people_data>
似乎应该可以,但是在运行查询时,我总是会得到所有100个文档。如果进行了筛选搜索,将总共返回正确的54个文档。任何建议将不胜感激。