検索候補API
DXP 7.4 U36+/ポータル GA36+
/suggestions ヘッドレス API を使用して提案を返すことができます。 この API は、Liferay の 検索バーの候補 機能によって使用されます。 利用可能な主な提案コントリビュータは 2 つあります。Liferay の標準インデクサーベースの検索に基づいて提案を返す 基本 コントリビュータと、 検索ブループリントに基づいて提案を返す sxpBlueprint コントリビュータです。
提案 API は当初、エンドポイント /o/portal-search-rest/v1.0/suggestions でリリースされました。 Liferay 2024.Q3/Portal GA125 以降、エンドポイントは /o/search/v1.0/suggestionsに移動されます。 エンドポイントには下位互換性があるため、エンドポイントの API への既存の呼び出しは引き続き機能します。
以下は、cURL を使用して行われた、用語 ableの検索リクエストの例です。
curl \
-H "Content-Type: application/json" \
-X POST \
"http://localhost:8080/o/portal-search-rest/v1.0/suggestions?currentURL=http://localhost:8080&destinationFriendlyURL=http://localhost:8080/web/guest/search&plid=1&search=able" \
--data-raw '[ { "attributes": {}, "contributorName": "basic", "displayGroupName": "search", "size": 5 } ]' \
-u "test@liferay.com:learn"
サービス アクセス ポリシーを構成するか、提案エンドポイントを完全に無効にすることができます。 詳細については、 検索バーの候補の設定 を参照してください。
提案クエリパラメータ
| パラメーター | メモ |
|---|---|
currentURL | (必須) Liferay インスタンスへの URL を入力します。 |
destinationFriendlyURL | (必須) 検索ページのフレンドリー URL を設定します。 |
plid | 仮想インスタンス全体でページを識別するポータル レイアウト ID を設定します。 通常は、 1、つまりデフォルトのホームページの plidを指定できます。 |
scope | 検索するサイトのリスト(ID または ERC 別)を指定します。 同じリクエスト内で ID と ERC を混在させることができます。 指定しない場合は、インスタンス全体が検索されます (例: 会社スコープのオブジェクトが検索されます)。 |
search | (必須) キーワードで検索します。 |
提案リクエスト本文
| プロパティ | 説明 |
|---|---|
attributes | 検索ブループリントを構成したり、空の検索を有効にしたり、リクエストに カスタム属性 を追加したりするには、 検索リクエスト属性 を設定します。 |
contributorName | 検索クエリを提供するコントリビューターを設定します (basic または sxpBlueprint)。 |
displayGroupName | UI の見出しとして使用する言語キーを設定します。 |
size | エンドポイントから返される結果の最大数を設定します。 |
ブループリントを使用して検索するには、次のリクエスト本文構文を使用できます。
[{
"attributes": {
"search.experiences.blueprint.external.reference.code": ""
},
"contributorName": "sxpBlueprint",
"displayGroupName": "suggestions",
"size": 5
}]
利用可能な提案リクエスト属性は、検索ブループリントを構成するためのものです。 これらの属性を持つ sxpBlueprint コントリビューターを常に使用してください。
| プロパティ | 説明 |
|---|---|
DXPのみsearch.experiences.blueprint.external.reference.code | (推奨) 検索クエリと構成を制御するには、 検索ブループリント を設定します。 |
DXPのみsearch.experiences.blueprint.id | 検索クエリと構成を制御するには、 検索ブループリント を設定します。 |
DXPのみsearch.experiences.ip.address | 自動的に設定されます。 異なる場所をシミュレートするように設定された地理位置情報 を使用してブループリント をテストする場合にのみこれを使用します。 |
DXPのみsearch.experiences.scope.group.id | ブループリントで、検索を現在のサイトに制限する、ユーザー セグメントのカテゴリのコンテンツをブーストする、ステージングを認識するなどの必要な 要素 が使用されている場合に設定します。 |