【发布时间】:2014-08-08 11:01:40
【问题描述】:
我有一个 XML 文件、一个查询和两个服务器。
我使用 mlcp 将 xml 文件加载到两者中,并在我认为需要它们的位置放置属性范围索引。
我们的开发服务器按我的预期运行,但测试服务器只返回文档中的第一个地图元素。检查所有数据库设置,重新加载文档,重新索引两台服务器没有结果...
文档如下所示:
<geo version="0.3" xmlns="http://www.nvsp.nl/geo-mapping">
<meta-data>
<!--Generated by DIKW for NetwerkVSP STTip-->
<dateCreated>2014-06-27 15:17:17.643318</dateCreated>
</meta-data>
<map ppc4_id="3902" wijk_id="390213">
<bruto>196</bruto>
<stickers>19</stickers>
<netto>177</netto>
<aktief>J</aktief>
</map>
<map ppc4_id="3902" wijk_id="3902B01">
<bruto>36</bruto>
<stickers>3</stickers>
<netto>33</netto>
<aktief>J</aktief>
</map>
<map ppc4_id="3902" wijk_id="3902K01">
<bruto>245</bruto>
<stickers>44</stickers>
<netto>201</netto>
<aktief>J</aktief>
</map>
<map ppc4_id="3903" wijk_id="390301">
<bruto>256</bruto>
<stickers>37</stickers>
<netto>219</netto>
<aktief>J</aktief>
</map>
后面还有大约 35000 个地图元素。
XQuery 意图查找具有某些 ppc4_id 或 wijk_id 属性的映射,如下所示:
xquery version "1.0-ml";
declare namespace gm = "http://www.nvsp.nl/geo-mapping";
let $p4_id := "6626"
let $wijk_id := "662601"
let $uri := '/data/map/geo-mapping.xml'
(: setup query:)
let $q2 := cts:element-attribute-value-query(xs:QName("gm:map"), xs:QName("ppc4_id"), $p4_id)
let $q3 := cts:element-attribute-value-query(xs:QName("gm:map"), xs:QName("wijk_id"), $wijk_id)
(: return map with wijk_id from geo:)
let $maps := cts:search(//gm:map,$q2,("unfiltered"))
return $maps
现在 DEV 服务器找到合适的结果,例如:
<map ppc4_id="6626" wijk_id="662601" xmlns="http://www.nvsp.nl/geo-mapping">
<bruto>220</bruto>
<stickers>11</stickers>
<netto>209</netto>
<aktief>J</aktief>
</map>
element
<map ppc4_id="6626" wijk_id="662602" xmlns="http://www.nvsp.nl/geo-mapping">
<bruto>198</bruto>
<stickers>13</stickers>
<netto>185</netto>
<aktief>J</aktief>
</map>
... more map elements ...
但是测试服务器只返回文档中的第一个地图元素!不管我要什么身份。
可怕的是不抱怨或不给出错误,而是给出错误的答案?
【问题讨论】:
-
好吧,我不确定我们能否在这里为您提供帮助。如果确实一切都与您所说的相同,那么您当然应该得到相同的结果(即它是 ML 中的错误)。如果根本不是所有东西都相同,那么从您的描述中就很难分辨出来。
-
tx dirkk 用于响应,问题仍然是它如何成为 cts:search 在搜索属性 id 时返回文档中的第一个元素...?
-
stackoverflow.com/help/how-to-ask - 我认为这归结为“我在两个应该相同的不同集群上运行相同的查询,但我看到不同的结果。有没有任何工具可以告诉我为什么结果不同?”我会根据这种效果进行编辑,但这将是一个非常激进的改变。