ft: поле запроса из приложения eXist

[Редактировать: Кажется, это ошибка]

Я хотел бы использовать ft:query-field из приложения на основе eXist-2.2. Хотя это прекрасно работает, когда я запускаю запрос из окна eXide "новый xquery" или напрямую с помощью REST API, я не получаю никаких результатов, как только запускаю этот запрос из приложения.

Чтобы быть более точным:

Я создал приложение, используя шаблон eXide по умолчанию.

Я загрузил коллекцию файлов TEI в /db/apps/faust-field-test/data, Для этого я настроил индекс на основе люцена, который индексирует некоторые из этих элементов в 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 взглянуть на этот индекс?

0 ответов

Другие вопросы по тегам