→ 要件に応じて最適な実装方法が変わります。
大きく分けて、「microCMSのAPIを利用するパターン」と「外部のサイト内検索用のツールを利用するパターン」の2つが考えられます。
メリット・デメリットがそれぞれ異なるため、要件に合わせて最適な手段を採用ください。
1. microCMSのAPIを利用するパターン
microCMSで提供しているAPIを利用して、検索機能を実装するパターンになります。
メリットとデメリットは以下の通りです。
- メリット
- 追加のツールなしで利用できる
- デメリット
- CMSで管理していない箇所の検索ができない
- キーワードと一致した文字列のハイライトができない
またこのパターンを採用する場合の詳細として、以下の2種類の実装方法が考えられます。
それぞれのメリットとデメリットは以下の通りです。
1-a: qパラメータを利用する
- メリット
- 簡単に実装することができる
- 検索結果の表示が速い
- デメリット
- 検索対象のフィールドを指定できない
- 形態素解析を行なったキーワードに対する検索になるので、完全な部分一致にはならず、意図しない検索結果となる可能性がある
1-b: filtersパラメータ(contains)を利用する
- メリット
- 完全な部分一致での検索が可能
- フィールド単位で検索対象の指定が可能
- デメリット
- 全件走査の検索となるため、コンテンツ量によっては、結果の表示に時間を要するケースがある
2. 外部のサイト内検索用のツールを利用するパターン
microCMSの機能ではなく、外部のツールを利用して検索機能を実装するパターンになります。
例として、Googleのプログラム可能な検索エンジンのようなサービスや、PageFindのようなOSSがあります。
メリットとデメリットは以下の通りです。
- メリット
- 検索に特化したツールとなるため、カスタマイズ性が高い
- デメリット
- 新規のツールの導入が必要となる