Я создаю приложение с eXist-db, которое работает с файлами TEI и преобразует их в html.
Для функции поиска я настроил lucene, чтобы игнорировать некоторые теги.
<collection xmlns="http://exist-db.org/collection-config/1.0" xmlns:teins="http://www.tei-c.org/ns/1.0">
<index xmlns:xs="http://www.w3.org/2001/XMLSchema">
<fulltext default="none" attributes="false"/>
<lucene>
<analyzer class="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
<analyzer id="ws" class="org.apache.lucene.analysis.WhitespaceAnalyzer"/>
<text match="//teins:TEI">
<inline qname="p"/>
<inline qname="text"/>
<ignore qname="teins:del"/>
<ignore qname="teins:sic"/>
<ignore qname="teins:index"/>
<ignore qname="teins:term"/>
<ignore qname="teins:note"/>
</text>
</lucene>
</index>
</collection>
Что ж, это вроде работает, элементы отображаются не в результатах поиска напрямую, а в фрагментах до и после совпадающего текста, которые возвращаются модулем kwic. Есть ли способ удалить их или применить преобразование XSL перед индексированием?
пример TEI:
...daß er sie zu entwerten sucht. Wie
<index>
<term>Liebe</term>
<index>
<term>und Hass</term>
</index>
</index>
Liebe Ausströmung inneren Wertes ist,...
Когда я ищу "Ausströmung", результат запроса
....sucht. Wie Liebe und Hass Liebe Ausströmung inneren Wertes ist,...
Но должно привести к
....sucht. Wie Liebe Ausströmung inneren Wertes ist,...
Когда я ищу "Hass", этот фрагмент текста не отображается в результатах.
По функциям поиска: я строго придерживаюсь примера Шекспира в документации.