Elasticsearchを用いた全文検索
このプラグインは、検索エンジン「Elasticsearch」を利用しHTML、PDFやオフィス系ドキュメントの検索を実現する事ができます。
※Movable Type クラウド版ではご利用できません。
プラグイン設定はサイト、子サイト単位で可能です。サイトダッシュボードのメニューから、[設定]>[プラグイン]をクリックし、プラグインの管理画面に遷移します。一覧の[PremiumSearch]をクリックして[設定]タブをクリックすると、プラグインの設定画面が表示されます。
フィールド名 |
必須 |
内容 |
---|---|---|
ElasticSearch Server ベースURL |
◯ |
ElasticSearch サーバーのベースURLを設定してください。 例:http://elasticsearch:920
|
ElasticSearch インデックス名 |
◯ |
ElasticSearch のインデックス名を指定します。 例:my_site
インデックスの命名規則について詳しくは下記のページを参照してください |
対象URLプレフィックス |
◯ |
クローラーがクロールするURLを指定します。 例:https://www.skyarc.co.jp
|
URL |
◯ |
クローラーがクロールを開始するURLを指定します。 例:https://www.skyarc.co.jp/index.html
|
URL除外パターン |
クロールの対象から除外するURLのパターンを指定してください。改行区切りで複数指定できます。 必要があれば、パターンにはワイルドカードとして * (アスタリスク) を使用できます。 例:news/2019/*/01
|
|
インデックス除外CSSセレクター |
検索インデックス作成の対象となるコンテンツから除外するための セレクターをカンマ区切りで指定します。 通常、<header>や<footer>などのセクションはそのページの本質的なコンテンツではなくサイト共通のパーツです。この値を設定することにより検索結果の精度向上が期待できます。 例:header,footer,nav
|
|
フォルダ定義 |
フォルダ定義をすることで検索結果画面上にて指定フォルダによる絞り込み検索が可能になります。 フォルダ定義はJSONの配列である必要があります。 例:
|
|
クロックスピード |
◯ |
クローラーのクロックスピードを秒で指定してください。1.5を指定すると、クローラーのサイトへのアクセスは1.5秒間に最大で1回となります。 サーバー負荷を見てご調整頂くか、クローラー実行を夜間や朝方等のアクセスが少ない時間に実施ください。 初期値:1.5
|
同時接続数 |
◯ |
クローラーの同時接続数を指定してください。 1を指定すると、クローラーの同時アクセスは最大で1に制限されます。 変更する場合はサーバー負荷に注意してください。 初期値:1
|
キュー容量 |
◯ |
First-In-First-Out(先入れ先出し)のクローラーキューのキャパシティをURLの個数で設定します。これはメモリー不足を防止します。この数値は結果のインデックスの容量ではなく、クロール中の一時的なキューの容量であることに注意してください。 クローラーログの「peak」の値がキュー容量に達するとクロール漏れが起こる可能性がありますので、peakの実績値を参考にこれより少し大きい数値になるように調整してください。 初期値:10000
|
デフォルトの検索結果件数 |
◯ |
検索結果の1ページに表示する件数のデフォルト値を設定してください。 ユーザはURLの「s」パラメータを指定することで「最大の検索結果件数」を上限としてサイズを変更できることに留意してください。 パラメータについては後述のAPIリファレンスを参照ください。 初期値:10
|
最大の検索結果件数 |
◯ |
検索結果の1ページに表示する件数の最大値を設定してください。この値を増やす場合はサーバー負荷に注意してください。 初期値:20
|
初期設定1で設定したクローラーを定期実行することで最新情報が検索結果に反映されます。
クローラーは下記のスクリプトを実行することで動作させます。cron などで定期実行を設定してください。
--blog 1はサイトのIDをご指定ください。
例:./plugins/PremiumSearch/tools/crawl.pl --blog
クローラーの深度を指定することもできます。もし開始URLにトップページを設定しているなら、次のような2つの定期タスクをスケジュールすると良いかもしれません。
--blog 1はサイトのIDをご指定ください。
例:
0 3 * * * ./plugins/PremiumSearch/tools/crawl.pl --blog 1
0 * * * * ./plugins/PremiumSearch/tools/crawl.pl --blog 1 --dep
depth=-1 は制限なし(デフォルト)、 depth=0 は開始URLのみ、 depth=1 は開始URLとそのリンク先を意味します。
クローラーの実行ログを確認することが可能です。実行ログはサイトメニューの[ツール] > [プレミアムサーチ]より確認可能です。
インデックス(検索エンジンに記録されたWebサイト情報)の削除についてはクロール開始時刻より古いインデックスを全て削除しております。
リンク先のAPIリファレンス、HTMLを参考に実装してください。
https://github.com/skyarc2/mt-premium/issues/2