[编辑:似乎是this bug]
我想在基于eXist-2.2的应用程序中使用ft:query-field
。当我从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标签中输入以下内容,我会从该集合中获得一堆网址:
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查看该索引?