我正在更新exists-db集合中的XML文件,我必须检查是否存在id以确定是否必须在我的文档中替换或插入内容。
我注意到随着文件的增长,查询执行时间显着恶化,我决定为我的文件添加一个索引。
我知道我必须在我的exists-db的conf.xml中这样做,如下例所示:
<!-- Range indexes -->
<create qname="title" type="xs:string"/>
<create qname="author" type="xs:string"/>
<create qname="year" type="xs:integer"/>
<!-- "old" context-dependant configuration using the path attribute: -->
<create path="//booktitle" type="xs:string"/>
我想在xml中为属性id添加索引,如下所示:
<server>
<formal>
<lastimage>
<harvested>
<coverages>
<coverage active="true" id="EUDEM">
...
</coverage>
</coverages>
</harvested>
</lastimage>
</formal>
</server>
我不认为添加
<create qname="id" type="xs:string"/>
就够了。
在此属性的exists-db中添加和索引的正确方法是什么?
答案 0 :(得分:5)
你很亲密!只需将@添加到qname属性的开头:
<create qname="@id" type="xs:string"/>
文档的相关部分为Configuration by path vs. configuration by qname:
属性由@attributeName指定,因此如果该属性被称为“attrib1”,则在索引规范中使用@ attrib1。