This is a Japanese Translation based on original readme updated on Jul 28, 2021.
English README.md is here
もくじ
これはLucidworksパートナー向けのスターターデモテンプレートです。事前に構成されたフュージョンアプリケーションとLucidworksのアプリスタジオを使用して構築されたエンドユーザー検索アプリケーションが含まれています。
このスターターデモテンプレートは、Fusion 5.3 を使用して作成されました。より新しいFusion 5のバージョンで使用しようとすることもおそらく出来ますが、うまく動作しないこともあるかもしれません。 (><;
Fusion 5 のインストールに関するインスタクションについては、Fusion Cloud Native on Kubernetes を参照してください。
-
chmod setup-1.sh の実行
setup-1.sh
ファイルに実行権を付与する。chmod +x setup-1.sh
-
setup-1.sh スクリプトの実行
setup-1.sh
スクリプトは、環境に従ってテンプレート内のファイルの必要なパラメータを変更するのみです。アプリやモジュールのインストール自体は実行しません。スクリプトを実行前に、以下の5つの値を事前に確認しておく必要があります。
- -h : fusion host名 (例: localhost)
- -p : fusion proxy ポート (例: 6764)
- -s : fusion server プロトコル (http または https)
- -a : fusion app名 (新しい名前を定義)
- -t : 各検索ページで使用するタイトル (検索 UI のタイトル)
注: Fusion app名に空白が含まれている場合、アンダースコアに置き換えられます。また、fusion app名は、query profile、query pipeline、jobなど、多くの設定名の接頭詞として使用されます**
# 実行例 # Nike $ ./setup-1.sh -h 'my.fusionhost.com' -p 6764 -s 'http' -a 'Nike' -t 'Nike Online' # Digital Workplace $ ./setup-1.sh -h 'my.fusionhost.com' -p 6764 -s 'https' -a 'Workplace' -t 'Digital Workplace' # Hardware Supply Company $ ./setup-1.sh -h 'my.fusionhost.com' -p 6764 -s 'https' -a 'Hardware Supply' -t 'Hardware Supply'
この
setup-1.sh
スクリプトは、Fusion app名を 'partnerkit' から、定義した新しい名前に変更するために、objects.json ファイルの内容を変更します。例えば、以下を実行した場合:
$ ./setup-1.sh -h 'my.fusionhost.com' -p 6764 -s 'http' -a 'Workplace' -t 'Digital Workplace'
objects.json は以下のように変更されます。
変更前 変更後 -
setup-2.py スクリプトの実行
このスクリプトを実行する前に、システムにPython3がインストールされていることを確認してください。
このPythonスクリプトは、objects.jsonファイルを読み取り、特定の構成のID値を変更します。
これは、特定の構成が、単一のFusionアプリだけでなく、単一のFusionインスタンス全体で一意である必要があるためです。
python3 setup-2.py
FusionのAdmin UIについては、General UI Overviewを参照してください。
App templateをインポートして、新しい fusion appを作成します。
-
Fusion Admin UIへログイン
-
Importをクリック
Fusionインスタンスにすでにblob
stopwords / stopwords_en.txt
がある場合は、以下の競合警告が表示される場合があります。 'Merge'ボタンをクリックすると、競合するファイルがスキップされ、インポートが続行されます。
テンプレートは初期値としてlucidworks.comをクローリングする設定を含みます。
Fusion のデータソースとジョブについては、DatasourcesとJobsを参照してください。
Fusion データソースとジョブの深い理解は、このデモを単純に設定するためには必須ではありませんが、重要な要素なので上記ドキュメントを一読してください。
-
Fusion Admin UIへログイン
-
web データストアをクリック
シグナルに詳しくない場合は、Signals Overviewを参照してください。
シグナルの深い理解は、このデモを設定するために必要ではありませんが、上記ドキュメントを一読してください。
-
sample-code
フォルダ内のgenerate-signals-threaded.pyを編集し、以下の値を環境に合わせて編集してください:変数 概要 fusion_ip Fusion host名もしくはIPアドレス fusion_port Fusion ポート番号 fusion_user Fusion ユーザ名 fusion_password Fusion パスワード fusion_app Fusion App名 fusion_query_profile ユーザからのクエリを処理するQuery Profile名 fusion_collection 検索対象のデータが保持されているコレクション名 documentLabel ドキュメントラベルを含むフィールド名(通常はファイル名または製品名) (テンプレートに指定されているインデックス パイプラインを使用している場合は、この値を変更しないでください)
手順 2. Fusion App テンプレートの準備で fusion app名を'Workplace'と指定した場合には、'fusion_app'、'fusion_query_profile'、'fusion_collection'の値は'Workplace'になります。
-
generate-signals-threaded.pyの実行
$ python3 sample-code/generate-signals-threaded.py
-
FusionのAdmin UIへ移動し, Collection Pickerをクリック、[FUSION-APP-NAME]_signalsを選択
-
左側のナビゲーションよりQUERYING > Query Workbench をクリックし
シグナルデータが生成されたか確認する。
レコメンデーションについては以下のドキュメントを参照ください。[Recommendations and Boosting Overview]
デモのセットアップ自体にはレコメンデーションの深い理解は不要ですが、上記ドキュメントを一読ください。
検索の関連性とエクスペリエンスを向上させるために、先ほど生成したシグナルデータを基にしたデータのコレクションと各種レコメンドアイテムを生成する。COLLECTIONS > Jobs に移動し、以下の順番でジョブを実行する。
注意: 現在のジョブが終了・成功したことを確認してから次のジョブを実行してください。
- [FUSION-APP-NAME]_click_signals_aggregation
- [FUSION-APP-NAME]_user_query_history_agg
- [FUSION-APP-NAME]_user_item_prefs_agg
- [FUSION-APP-NAME]_bpr_item_recs
- [FUSION-APP-NAME]_content_recs
- [FUSION-APP-NAME]_query_recs
すべてのジョブが終了したら、COLLECTIONS > Collection Manager へ移動して各コレクションにドキュメントが生成されたことを確認する。
App Studioについては、Fusion App Studioを参照してください。
App Studioへの深い理解は本手順では不要ですが、上記ドキュメントを一読してください。
開発時は、以降の手順で示すようにstartメソッドを利用してアプリケーションを起動しますが、本番環境はJava WAR ファイルまたは Java JAR ファイルに検索アプリケーションをパッケージ化して展開します。詳細は、Deployment Overviewを参照してください。
重要: App Studioの起動には、npm
が必要です。
npm
のインストール:
$ curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -
$ sudo yum install nodejs
App Studioを起動します。app-studio
フォルダに移動して、以下を実行:
$ cd app-studio/
$ ./app-studio start -t 300
-t
フラグはオプションであり、開始タイムアウトを秒単位で設定するために使用されます。デフォルトのタイムアウトは240秒で、App Studioを初めて起動する際には、最初に必要なファイルがダウンロードされるため、調整する必要がある場合があります。
App Studioで設定された検索 UIのスクリーンショット(例)
Summary Page |
---|
Main Search Page | Search Detail Page |
---|---|
Typeahead |
---|