提案の追加
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
widget.items.search.suggestionオブジェクトを追加すれば、ユーザーのクエリをオートコンプリートしたり予測検索結果を表示したりできる提案が得られます。
!注提案を依頼する前に、管理者が 提案ブロック を設定していることを確認してくださいSitecore Search。
このオブジェクトのデータモデルについては、Search and Recommendation APIリファレンスを参照してください。
キーワードがあるときに提案を得る方法
キーワードに合わせるための提案を依頼する際は、queryとsuggestionの両方のオブジェクトを渡す必要があります。
例えば、訪問者がキーワード クラウド を検索していて、あなたは以下をしたいとします:
-
訪問者がキーワードを入力した後に5つのキーワード提案を表示します。
-
コンテンツタイトルと訪問者のコンテキストを使って関連するキーワード提案を表示するtitle_context_awareという事前定義されたsuggestion blockを使いましょう。
!注この例では、title_context_awareという提案タイプを使用します。ただし、管理者が定義した任意の提案タイプを使用できます。
以下はサンプルリクエストです:
{ "widget": { "items": { "rfk_id": "rfkid_7", "entity": "content", "search": { "suggestion": { "max": 5, "name": "title_context_aware" } , "query": { "keyphrase": "cloud" } } }
}, "context": { "locale": { "country": "us", "language": "en" }, "user": { "uuid": "159871551-m7-17-44-1p-c0ya4nb69t8o0iho2eia-1667926756185" } } }
以下はその要請への回答です:
{ "widgets": { "rfk_id": "rfkid_7", "entity": "content", "suggestion": { "title_context_aware": { "text": "cloud on salesforce", "freq": 4 }, { "text": "cloud architecture", "freq": 4 }, { "text": "cloud portal", "freq": 3 }, { "text": "cloud portal technical", "freq": 3 }, { "text": "cloud resources", "freq": 2 }
} } , "dt": 104, "ts": 1669689280650 }
ユーザーがキーワードクラウドに入ったときに示せる提案のリストが、レスポンスsuggestionオブジェクトに表示されているのがわかります。
キーワードがないのに提案を得る方法
例えば、検索バーをクリックしていて何も入力していない場合など、キーワードに基づかない提案をリクエストすることもできます。
キーワードなしでアドバイスを得るには、以下の点を確認してください:
-
contextAwareまたはsortByAttributeアルゴリズムを使うsuggestion blockがSearchに存在し、そのsuggestion blockをリクエストで使います。
-
訪問者はあなたのウェブサイトを十分にクリックしているので、Searchはその人の好みに関する情報を集めることができます。
-
Personalization、ランキング、またはその両方が有効です。デフォルトではSearchはAPIリクエスト内で パーソナライズ を有効にしますが、動作させるにはUUIDを通過する必要があります。ランキングについては、管理者にSearchで設定してもらい、APIリクエスト内で ランク付け オブジェクトを渡すことでオプションで上書きできます。
!注パーソナライズやランキングを有効にしなくても、訪問者があなたのウェブサイトとやり取りしていなくても、キーワードなしで提案をリクエストすることは可能です。しかし、Searchには訪問者の好みに関するデータがないため、回答には提案は一切ありません。
キーワードがない場合に、title_context_awareというsuggestion blockを使った6つの提案を求めるサンプルリクエストがあります:
{ "widget": { "items": { "rfk_id": "rfkid_7", "entity": "content", "search": { "suggestion": { "max": 6, "name": "title_context_aware" }
} }
}, "context": { "locale": { "country": "us", "language": "en" }, "user": { "uuid": "159871551-m7-17-44-1p-c0ya4nb69t8o0iho2eia-1667926756185" } } }
検索のバックアップとして提案を使う
時には、訪問者が検索語を入力して検索ボタンをクリックし、提案をクリックしずに検索ボタンをクリックすることもあります。入力した用語に誤字があったり一致しない場合、Searchは結果を0回返し、訪問者は空白の検索ページを目にします。
この状況に対処するために、あなたには二つの選択肢があります。
-
*ページ上部に「どういう意味ですか?」*行をつけた空の検索ページを表示します。そして、訪問者が修正された語をクリックすると、その語の検索結果が表示されます。
!注これを行うには、「 Did you mean UI」要素を作成します。キーワードセクションがある ときに「提案を得る 」の指示のようにリクエストを作成し、「 Did you mean mean 」要素にレスポンス提案を渡します。
-
Searchを最初の提案を代替検索語として使うように設定してください。この場合、ユーザーは空の検索ページを見ることはありません。
もし後者の選択肢を選ぶなら:
- suggestion.keyphrase_fallbackプロパティをtrueに設定します。これを行うと、検索結果がゼロSearch場合は、最初の提案suggestion block最初の提案を代替キーワードとして使います。
- 空の response_context オブジェクトを追加して、回答に代替検索語が含まれていることを確認してください。
例えば、訪問者が誤字で 「conten 」を検索し、検索ボタンをクリックした場合です。 keyphrase_fallback
、Searchが少なくとも1つの提案を生成できた場合、以下の出来事が起こります。- 最初にリクエストを送信すると、Searchはキーワード contenを使ってバックエンド検索を行います。しかし、自動フォールバックを設定しているため、Searchは返答を返しません。
- Sitecore Searchはこのsuggestion blockの最初の提案を代替キーワードとして再検索します。例えば、返される提案が Content Cloud、 Content Hub、 Content Managementの順であると仮定します。Sitecore SearchはContent Cloud を代替キーワードフレーズとして使い、訪問者にはこのキーワードフレーズの結果が表示される検索ページが表示されます。
以下は、前述の例で訪問者がcontenを検索した例で、3つのsuggestion blocks(title_context_aware、title、およびtitle_spelling )を使った例です:
"widget": { "items": { "entity": "content", "rfk_id": "rfkid_7", "search": { "content": {}, "query": { "keyphrase": "conten" }, "suggestion": { "name": "title_context_aware", "max": 3, "keyphrase_fallback": true }, { "name": "title", "max": 3, "keyphrase_fallback": true }, { "name": "title_spelling", "max": 3, "keyphrase_fallback": true } , "response_context": {} } }
} }'
こちらがこのリクエストへのサンプル回答です:
{ "widgets": { "rfk_id": "rfkid_7", "entity": "content", "suggestion": { "title_context_aware": { "text": "content cloud", "freq": 4 }, { "text": "content hub", "freq": 4 }, { "text": "content management", "freq": 3 } , "title": { "text": "content editor vs experience editor", "freq": 4 }, { "text": "content management and delivery", "freq": 3 }, { "text": "content hub sitecore documentation", "freq": 3 } , "title_spelling": { "text": "content", "freq": 2 }, { "text": "contents", "freq": 4 } { "text": "contentful", "freq": 4 }
} } , "dt": 104, "ts": 1669689280650, "response_context": { "keyphrase": "content cloud", "original_keyphrase": "conten" } }
Searchが検索に「 コンテンツクラウド 」という用語(「そのkeyphrase)」を使ったのは、最初のsuggestion block提案が最初の提案だったからです。