我在collection.xconf中有以下lucene索引
<lucene>
<text qname="tei:text" />
<text qname="tei:summary"/>
<text qname="tei:placeName"/>
</lucene>
我的xquery代码然后进行以下查询:
let $query-results := ($documents[.//tei:text[ft:query(., $q)]],
$documents[.//tei:summary[ft:query(., $q)]],
$documents[.//tei:placeName[ft:query(., $q)]])
现在我想要搜索:
-pommern erik
现在查询结果中的所有文档都有“erik”这个词,但没有 在tei:text标签的内容中单词“pommern”。
但是有些结果既有“erik”又有“pommern” tei:摘要标签。
如何创建xpath以便用户可以搜索所有三个标记 使用lucene语法(以便三个标记的内容显示为 一个文字)?
答案 0 :(得分:0)
目前你正在对结果进行联合,你需要一个交叉点。
要做到这一点,你真的需要一起查询父和谓词,如:
$documents[ft:query(.//tei:text, $q)][ft:query(.//tei:summary, $q)][ft:query(.//tei:placeName, $q)]