Общая структура конфигурации и синтаксис
Конфигурационные файлы collection.xconf - это стандартные XML-документы, элементы и атрибуты которых определены в пространстве имен eXist-db http://exist -db.org / collection-config / 1.0 . В следующем примере показан пример конфигурации:
<collection xmlns="http://exist-db.org/collection-config/1.0">
<index>
<!-- Full text index based on Lucene -->
<lucene>
<text qname="SPEECH">
<ignore qname="SPEAKER"/>
</text>
<text qname="TITLE"/>
</lucene>
<!-- Range indexes -->
<range>
<create qname="title" type="xs:string"/>
<create qname="author" type="xs:string"/>
<create qname="year" type="xs:integer"/>
</range>
<!-- N-gram indexes -->
<ngram qname="author"/>
<ngram qname="title"/>
</index>
</collection>
Чтобы использовать новый индекс диапазона, оберните определения индекса диапазона в элемент диапазона:
<collection xmlns="http://exist-db.org/collection-config/1.0">
<!--from Tamboti-->
<index xmlns:mods="http://www.loc.gov/mods/v3">
<lucene>
<text qname="mods:title"/>
</lucene>
<!-- Range indexes -->
<range>
<create qname="mods:namePart" type="xs:string" case="no"/>
<create qname="mods:dateIssued" type="xs:string"/>
<create qname="@ID" type="xs:string"/>
</range>
</index>
</collection>
Условные комбинированные индексы
Для комбинированных индексов вы можете указать условия, чтобы ограничить индексируемые значения теми, которые содержатся в элементах, атрибут которых соответствует определенным критериям:
<range>
<create qname="tei:term">
<condition attribute="type" value="main"/>
<field name="mainTerm" type="xs:string"/>
</create>
</range>
Это будет индексировать значение элемента tei: term, только если у него есть атрибут с именем type со значением main. В определении индекса может быть указано несколько условий, и в этом случае все условия должны совпадать для индексации значения.
Убедитесь, что у вас есть действительный xml. Для получения дополнительной информации вы можете прочитать документацию здесь: https://exist -db.org / существующие / apps / doc / newrangeindex.xml