検索フォームの配置方法
既存のサイトに検索フォームを配置することで、fess の検索結果に誘導することができます。 ここでは https://search.n2sm.co.jp/ に fess を構築し、既存サイトの各ページに検索フォームを置く例で説明します。
検索フォーム
ページ内で検索フォームを置きたい箇所に以下のコードを配置してください。
サイトのデザインに合わせて、class属性でクラス名を追加するなどしてCSSで必要に応じて調整してください。 https://search.n2sm.co.jp/ のURLは構築した fess サーバのURLに変更して利用してください。
検索キーワードは q パラメーターとして fess の検索ページ( /search/ )に送信されます。 maxlength には、 fess 側のキーワード長の上限である query.max.length (初期値は 1000 )に合わせた値を指定してください。
サジェスト
配置した検索フォームにサジェスト機能を設定することもできます。 設定する場合は以下のコードを</body>の前に追加してください。
既にサイトでjQueryを利用している場合はjQueryのscript要素は追加する必要はありません。
サジェストは fess のサジェストAPI( /api/v2/suggest-words )を利用します。 url は構築した fess サーバのURLに合わせて変更してください。
suggestor に指定できる主なオプションは以下のとおりです。
"z-index"で指定する値は、他の要素と重ならない値を指定してください。
注釈
検索フォームを fess サーバとは異なるドメインのページに配置する場合、サジェストAPIへのリクエストはクロスオリジン通信になります。 fess は初期設定で api.cors.allow.origin=* を許可しているため、そのまま利用できます。 アクセスを制限したい場合は fess_config.properties の api.cors.allow.origin を変更してください。
注釈
/api/v2/suggest-words は fess 本体が提供するAPIです。 以前のバージョンで利用していた /api/v1/suggest-words は fess 本体からは提供されなくなり、利用するには fess-webapp-v1-api プラグインのインストールが必要です。 新規に構築する場合は /api/v2/suggest-words を利用してください。