Я использую Lucene для поиска по индексу документов XML. Я должен искать документы, в которых есть определенные слова внутри определенных тегов. Каков наилучший способ сделать это?
Я пытался использовать RegexQuery с чем-то вроде "tag.*?word.*?tag
", но это не дало никаких результатов.
Для пояснения и пример XML:
<?xml version="1.0" encoding="utf-8"?>
<Legislation>
<ENTRY COLNAME="COL1">
<LegBody_1_1 ID="KEY_3">
<ParagraphNum REFID="284:1" JUMP_LINK_KEY="0">1. </ParagraphNum>In the following pragraphs - </LegBody_1_1>
<LegBody_1_2 ID="KEY_4">
<Term>"Legal Guardian" </Term>
<Definition> - a person to whom legal title to property is entrusted to use for another's benefit; </Definition>
</LegBody_1_2>
<LegBody_1_2 ID="KEY_5">
<Term>"Authority" </Term>
<Definition> - Any civil servant appointed by the department head or minister; </Definition>
</LegBody_1_2>
.... more tags..
</Legislation>
Поиск, выполняющий поиск слова «legal» в теге «Definition» («definition.*?legal.*?definition
»), должен вернуть этот документ.
Есть идеи?