ML9 Java APIを使用して検索オプションファイルをDBにアップロードし、後で検索コールで使用できる名前を使用しています。私はxqueryトランスフォームを書いて、レスポンス内の要素のセット内のクエリマッチを強調したいと思います。標準のスニペットは、マッチしたフィールドを返すだけであり、完全なフィールド値を戻すことができないため、マッチの直後のコンテキストのみを返すため、私のためには機能しません。MarkLogicの検索オプションを名前で使用する方法
私はカスタム変換でcts:highlight関数を使い、DBにアップロードしたオプションの名前を渡したいと思っています。私の質問は、変換メソッドに渡された名前を使用して、DBからoptions要素を取得する方法を知ることです。私は、CTSを構築するためにこれを使用したい:私はCTSに渡すことができますクエリ:のようにハイライトコール:
let $query := cts:query(search:parse($query-string, $options))
let $result := cts:highlight($doc, $query, <markup>{$cts:text}
</markup>)
私は、クエリ文字列や事前の名前で渡すことができます考えていましたこれらのオプションを使用してcts:queryを構築しますが、その名前からオプションを取得する方法はわかりません。
代わりに抽出文書データを見ましたか?それはあなたのために維持するための仕事とコードが少なくなるかもしれません。 http://docs.marklogic.com/guide/java/searches#id_90087 –
私は持っていますが、抽出されたフィールドで検索一致を強調表示するにはどうすればよいですか? –
私はxqueryの変換がどのように書かれているかの一例を見つけることができません。サンプルコードでは、XSLT変換のしかたも示しています。 –