2017-08-16 8 views
0

options = search.xml引数を使用して、現在、デフォルトの/v1/searchエンドポイントで作業しています。Marklogic - バックエンドのオプションファイルを使用

私は、カスタム拡張エンドポイントにバックエンドに機能を移す作業を進めています。

今は、オプションファイルをモジュール自体にコピーしました。サーバーに既に格納されているオプションファイルにアクセスし、オプションをハードコーディングする代わりにそのファイルを使用する方法はありますか?必然的に、1つ以上のエンドポイントが同じオプションを使用することがあり、各エンドポイントにハードコードしたくない場合があります。

ご提案は大歓迎です。ありがとう

答えて

0

あなたはPUT or POST your options to /v1/config/query/[name]する必要があります。次に、/ v1/searchへのリクエストでオプションファイルの名前を指定することができます。


編集:あなたが名前のオプションをアップロードすると仮定すると、

をコメントに応答して、より詳細その後、/ V1 /検索に、あなたの呼び出しは次のようになり、「検索」:

http://{server}:{port}/v1/search?options=search&q=my+query 

/v1/config/queryに行くと、オプションが正しくインストールされていることを確認できます。

+0

に役立ちます願って、私は、拡張サービス – Busturdust

0

オプションファイルはmodulesデータベースに格納されます。これを読むには、xdmp:invoke-function()または別のevalまたはinvokeアプローチを使用してmodulesデータベースでfn:doc()を実行する必要があります。

メンテナンス性とパフォーマンスの両方を考慮して、拡張機能にオプション定義を保持するのが最適かもしれません。

脚注:気づいたことはありますが、そうでない場合は、/ v1 /検索リクエストでクエリとオプションの両方を含む検索検索要素を組み合わせて送信できます。

それは、私は今それをやっている方法です

+0

こんにちはからすでに設定されているオプションファイルを呼び出すように指導してくれてありがとうをしたいと思います。私は述べたように評価関数を調べます。私は検索を行っています:バックエンドで検索するので、知識グラフから関連するデータを検索リクエストに含めることができます...サービスごとに個々のオプションを維持することを考えますが、関数を呼び出す際にlokoを実行します – Busturdust

関連する問題