eXist db-基本Lucene查询返回空序列
在ExistDB4.4中,我试图实现一个基本的Lucene查询结构,但它没有返回任何结果 在eXist db-基本Lucene查询返回空序列,lucene,xquery,exist-db,tei,Lucene,Xquery,Exist Db,Tei,在ExistDB4.4中,我试图实现一个基本的Lucene查询结构,但它没有返回任何结果 在/db/apps/deheresi/data中,我有一组具有相同结构的tei xml文档,我只想将我的查询应用于元素tei:seg及其子体中的文本内容。典型的样本是: <TEI> <text> [...] <seg type="dep_event" subtype="event" xml:id="MS609-0001-1"> <
/db/apps/deheresi/data
中,我有一组具有相同结构的tei xml
文档,我只想将我的查询应用于元素tei:seg
及其子体中的文本内容。典型的样本是:
<TEI>
<text>
[...]
<seg type="dep_event" subtype="event" xml:id="MS609-0001-1">
<pb n="1r"/>
<lb break="n" n="1"/>
<date type="deposition_date" when="1245-05-27" cert="high">Anno
Domini M° CC° XL° quinto VI Kalendas Iunii.</date>
<persName nymRef="#Arnald_Garnier_MSP-AU" role="dep">Arnaldus Garnerii</persName>
testis iuratus dixit quod vidit in
<placeName type="event_loc" nymRef="#home_of_Cap-de-Porc">domo
<persName nymRef="#Peire_Cap-de-Porc_MSP-AU" role="own">Petri de Sancto Andrea</persName>
</placeName>
<lb break="y" n="2"/>
<persName nymRef="#Bernard_Cap-de-Porc_MSP-AU" role="her">B<supplied reason="expname">ernardum</supplied> de Sancto Andrea</persName>,
fratrem dicti Petri, et socium eius, hereticos. Et vidit ibi cum eis dictum
<persName nymRef="#Peire_Cap-de-Porc_MSP-AU" ana="#uAdo" role="par">P<supplied reason="expname">etrum</supplied> de Sancto Andrea</persName> et
<persName nymRef="#Susanna_Cap-de-Porc_MSP-AU" ana="#uAdo" role="par">uxor dicti<lb break="y" n="3"/>Petri</persName>. Et
<persName nymRef="#Arnald_Garnier_MSP-AU" ana="#pAdo" role="par"/>ipse
testis adoravit ibi dictos hereticos, sed non vidit alios adorare. Et
<date type="event_date" when="1239">sunt VI anni vel circa</date>.
<seg type="inq_int" subtype="specific_question">Et quando ipse testis exivit<lb break="y" n="4"/>domum invenit
<persName nymRef="#Guilhem_de_Rosengue_MSP-AU" key="inqint" ana="#pIntra" role="ref">Willelmus de Rozergue</persName> intrantem ad dictos hereticos.</seg>
</seg>
<seg>
[...]
</seg>
[...]
<text>
<TEI>
现在,我对在集合中的每个文档中多次找到的单个拉丁词执行查询:
let $query :=
<query>
<term>vidit</term>
</query>
return
collection('/db/apps/deheresi/data')//tei:seg[ft:query(.,$query)]
我是否忽略了Lucene实现难题的一部分
非常感谢。使用eXist索引时,请记住必须将集合配置文件存储在镜像数据位置的
/db/system/config/
子集合中。因此,如果数据位于/db/apps/deheresi
中,则必须将集合配置文件存储为/db/system/config/db/apps/deheresi/collection.xconf
eXide有一个非常方便的功能,它可以检测何时在数据库中存储集合配置文件,提供将文件副本存储在/db/system/config
子集合中的相应位置,并在存储副本后重新编制源集合的索引
但是,在eXide之外工作时,请记住,对
/db/apps/deheresi/collection.xconf
的编辑必须手动复制到/db/system/config
集合,并且必须手动重新为源集合编制索引,以便新配置处于活动状态。我最初在eXist Java客户端中使用了“index”函数来重新编制数据库索引。我刚刚进入eXide并从那里重新编制索引,现在同一个查询突然返回结果。即使java客户端返回了reindex completed
,索引似乎也没有编译。您的collection.xconf文件存储在哪里?它位于/db/apps/deheresi
中。自从我从eXide重新编制索引后,它现在可以工作了。
let $query :=
<query>
<term>vidit</term>
</query>
return
collection('/db/apps/deheresi/data')//tei:seg[ft:query(.,$query)]
`eXist-db localhost 8081 : Your query returned an empty sequence`