0

[编辑:似乎是这个错误]

我想ft:query-field在基于 eXist-2.2 的应用程序中使用。虽然当我从 eXide 'new xquery' 窗口或直接使用 REST API 运行查询时这工作得很好,但从应用程序中运行此查询后,我不会立即得到任何结果。

更准确地说:

我使用 eXide 的默认模板创建了一个应用程序。

我已将一组 TEI 文件上传到/db/apps/faust-field-test/data. 为此,我配置了一个基于 lucene 的索引,将其中一些元素索引到一个fieldtest字段中:

<collection xmlns="http://exist-db.org/collection-config/1.0">
    <index xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
        <fulltext default="none" attributes="false"/>
        <lucene>
            <text qname="tei:l" field="fieldtest"/>
            <text qname="tei:stage" field="fieldtest"/>
            <!-- … -->
        </lucene>
    </index>
</collection>

这很好用:如果我在新的 eXide 选项卡中输入以下内容,我会从集合中获得一堆 URL:

for $hit in ft:query-field('fieldtest', 'pudel')
return document-uri(root($hit))

但是,如果我将完全相同的查询复制到app:test其他未修改的应用程序的模板函数中,我不会得到任何结果:

declare function app:test($node as node(), $model as map(*)) {
    <pre>{
    for $hit in ft:query-field('fieldtest', 'pudel')
    return document-uri(root($hit))
    }</pre>
};

我错过了一些明显的东西吗?我如何说服 eXist 查看该索引?

4

0 回答 0