我正在使用ML9 Java API將搜索選項文件上載到數據庫,並使用稍後在我的搜索調用中使用的名稱。我現在想編寫一個xquery轉換來突出顯示響應中一組元素中的查詢匹配。標準片段對我來說不起作用,因爲它們只會帶回匹配的字段,並且因爲它們可能不會帶回完整的字段值,而僅帶回匹配的直接上下文。如何通過名稱使用MarkLogic搜索選項
所以我想在自定義轉換中使用cts:highlight函數,並想傳遞給我已上傳到數據庫的選項的名稱。我的問題是我怎樣才能最好地從數據庫中獲取選項元素,使用傳遞給transform方法的名稱。我想用這個來構建CTS:查詢我可以在傳遞給CTS:亮點通話中:
let $query := cts:query(search:parse($query-string, $options))
let $result := cts:highlight($doc, $query, <markup>{$cts:text}
</markup>)
我想我可以在查詢字符串傳遞和預名稱加載選項並使用它們來構建cts:query,但不知道如何從名稱中獲取選項。
你有沒有看過extract-document-data呢?這可能是更少的工作和代碼來爲你維護。 http://docs.marklogic.com/guide/java/searches#id_90087 –
我有,但是如何在提取的字段中突出顯示搜索匹配? –
我似乎無法找到如何寫一個xquery變換的單個示例。示例代碼也僅顯示如何執行XSLT轉換。 –