検索連携フロントエンドインストールガイド

フロントエンドでgenser検索エンジンを連携する全体の手順を案内します。複雑な開発なしに、 スクリプトの導入と 関数呼び出しだけでAI検索を実装できます。
連携キーを準備する (Setup)
サービスキーおよびインスタンスキーの確認
スクリプト連携に必要な2つの必須キー(Key)値をgenser管理画面で事前に取得しておく必要があります。
サービスキー(Service Key)
サービス連携のための固有認証キー
初期化スクリプト(head 領域) 設定用
インスタンスキー(Instance Key)
作成された検索インスタンスの固有識別子
検索API(searchProducts)およびログ収集呼び出し用


機能有効化の確認
APIレスポンスに特定のデータを含めたい場合、管理画面のインスタンス設定で該当機能を事前に「有効(ON)」に変更する必要があります。
スクリプトを設置する (Install)
genserサービスを利用するには、全てのページの共通レイアウトに基本スクリプトを挿入する必要があります。
共通レイアウトが適用されないページがある場合は、そのページにも個別にスクリプトを挿入する必要があります。
場所: HTMLドキュメントの
<head>タグ終了直前。注意事項:
共通レイアウトが適用されないページがある場合は、そのページにも個別に挿入する必要があります。
発行されたサービスキーの部分に実際に割り当てられたキー値を入力する必要があります。
<head>
<!-- ... 既存ヘッダー内容 ... -->
<!-- genser スクリプト設置コード 開始 -->
<script type="text/javascript">
(function (a, i, u, e, o) {
a[u] = a[u] || function () { (a[u].q = a[u].q || []).push(arguments) };
})(window, document, "genser");
// 発行されたサービスキーを入力してください
genser("serviceKey", "発行されたサービスキー");
genser("siteType", "custom");
</script>
<script charset="utf-8" src="//static.groobee.io/dist/g2/genser.init.min.js"></script>
<!-- genser スクリプト設置コード 終了 -->
</head>検索結果を呼び出す (Search)
基本スクリプトが全ページに挿入されていることを前提に、該当ページ内で以下のようなJavaScript関数を使用できます。
下記の関数に型に合ったデータを入れて呼び出すと、商品検索結果データを受け取れます。
検索呼び出し(searchProducts)
genser.call('searchProducts', {
instanceKey: 'instanceKey', // 必須: 管理画面で作成したインスタンスキー
queryText: '商品検索語', // 必須: ユーザーが入力した検索語
})
.success((res) => {
console.log(res); // 検索結果データを返却 (下記レスポンス構造参照)
})
.error((err) => {
console.error(err); // エラー発生時
});instanceKey
string
必須
genser管理画面で作成したインスタンスキー(固有識別子)
queryText
string
必須
ユーザーが入力した商品検索語
...
任意
その他拡張フィールド(用途に応じて追加可能)
応答データ構造(Response)
success コールバックで返されるデータは typeに従って4つの形態に分類されます。
1. 商品情報(SEARCH)
検索された商品の一覧です。
{
"requestId": "検索語に対するID",
"type": "SEARCH",
"products": [
{
"code": "商品コード",
"name": "商品名",
...
},
{
"code": "商品コード",
"name": "商品名",
...
},
],
"facet": {},
"nextPageToken": ''
}requestId
string
必須
検索語に対する固有のリクエストID
type
string
必須
応答タイプ(例: "SEARCH")
products
array
必須
商品リストの配列
products[].code
string
必須
商品コード
products[].name
string
必須
商品名
facet
object
任意
-
nextPageToken
string
任意
-
2. 検索結果の説明(SUMMARY)
検索結果説明の設定この管理画面で有効化されている場合、検索結果に対する要約テキストを返します。
{
"requestId": "検索語に対するID",
"type": "SUMMARY",
"summary": "要約内容のテキスト"
}requestId
string
必須
検索語に対する固有のリクエストID
type
string
必須
応答タイプ(例: "SUMMARY")
summary
string
必須
検索語または結果に対する要約内容のテキスト
3. 関連キーワード(KEYWORDS)
関連キーワードの設定この管理画面で有効化されている場合、関連する推奨キーワードのリストを返します。
{
"requestId": "検索語に対するID",
"type": "KEYWORDS",
"keywords": ["キーワード1", "キーワード2"]
}requestId
string
必須
検索語に対する固有のリクエストID
type
string
必須
応答タイプ(例: "KEYWORDS")
keywords
string[]
必須
推奨または関連キーワードの配列(文字列リスト)
4. 提案質問(QUESTIONS)
提案質問の設定この管理画面で有効化されている場合、ユーザーが追加で気にする可能性のある質問リストを返します。
{
"requestId": "検索語に対するID",
"type": "QUESTIONS",
"questions": [
"質問内容 1",
"質問内容 2"
]
}requestId
string
必須
検索語に対する固有のリクエストID
type
string
必須
応答タイプ(例: "QUESTIONS")
questions
string[]
必須
提案質問の配列(文字列リスト)
ログデータを収集する (Analytics)
検索品質向上と統計のためにユーザー行動データを収集します。
検索(SE):
searchProducts関数呼び出し時に自動的に収集されます。表示(DI) & クリック(CL): 以下の関数を使用して直接呼び出す必要があります。
表示 (DI)
検索結果の商品の画面表示時に呼び出します。
genser.call('DI', {
instance: { key: 'instanceKey' }, // インスタンスキー
goods: [
{
code: '商品コード', // searchProducts の結果の code
name: '商品名', // searchProducts の結果の name
},
...
], // 商品情報
requestId: '検索語に対するID', // searchProducts の結果で受け取った requestId
})
.success((res) => {
console.log(res); // 正常コールバック
})
.error((err) => {
console.error(err); // エラーコールバック
});
instance
object
必須
genser管理画面で作成したインスタンス情報
instance.key
string
必須
genser管理画面で作成したインスタンスキー(固有識別子)
goods
array
必須
ユーザーに推奨/選択された商品一覧
goods[].code
string
必須
商品コード(searchProducts レスポンスの商品のコードを使用)
goods[].name
string
必須
商品名(searchProducts レスポンスの商品の名前を使用)
requestId
string
必須
商品検索結果で受け取ったリクエストID(searchProducts レスポンスのrequestIdを使用)
クリック (CL)
ユーザーが商品をクリックしたときに呼び出します。
genser.call('CL', {
instance: { key: 'instanceKey' }, // インスタンスキー
goods: [
{
code: '商品コード', // searchProducts の結果の code
name: '商品名', // searchProducts の結果の name
},
...
], // 商品情報
requestId: '検索語に対するID', // searchProducts の結果で受け取った requestId
})
.success((res) => {
console.log(res); // 正常コールバック
})
.error((err) => {
console.error(err); // エラーコールバック
});
instance
object
必須
genser管理画面で作成したインスタンス情報
instance.key
string
必須
genser管理画面で作成したインスタンスキー(固有識別子)
goods
array
必須
ユーザーに推奨/選択された商品一覧
goods[].code
string
必須
商品コード(searchProducts レスポンスの商品のコードを使用)
goods[].name
string
必須
商品名(searchProducts レスポンスの商品の名前を使用)
requestId
string
必須
商品検索結果で受け取ったリクエストID(searchProducts レスポンスのrequestIdを使用)
最終更新
役に立ちましたか?
