我正在使用Lucene搜索XML文档的索引。我应该寻找在某些标签内部有某些单词的文档。什么是最好的方法呢?
我尝试使用类似“tag.*?word.*?tag
”之类的RegexQuery,但没有返回任何结果。
澄清,以及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>
在标签“定义”(“definition.*?legal.*?definition
”)中搜索“legal”一词的搜索应返回此文档。
有什么想法吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
我还会探索原生XML数据库。 eXist-db(http://exist-db.org)内置了Lucene,因此您可以保持XML的完整性,并在应用Lucene索引时使用XQuery查询结构。