如何在exists-db中为属性创建索引

时间:2013-12-13 12:51:31

标签: exist-db

我正在更新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中添加和索引的正确方法是什么?

1 个答案:

答案 0 :(得分:5)

你很亲密!只需将@添加到qname属性的开头:

 <create qname="@id" type="xs:string"/>

文档的相关部分为Configuration by path vs. configuration by qname

  

属性由@attributeName指定,因此如果该属性被称为“attrib1”,则在索引规范中使用@ attrib1。