1. ヘルプ
  2. 実装(全般)
  3. ユースケース別の実装方法

サイト内検索はどのように実装すると良いですか?

→ 要件に応じて最適な実装方法が変わります。

大きく分けて、「microCMSのAPIを利用するパターン」と「外部のサイト内検索用のツールを利用するパターン」の2つが考えられます。

メリット・デメリットがそれぞれ異なるため、要件に合わせて最適な手段を採用ください。

1. microCMSのAPIを利用するパターン

microCMSで提供しているAPIを利用して、検索機能を実装するパターンになります。
メリットとデメリットは以下の通りです。

  • メリット
    • 追加のツールなしで利用できる
  • デメリット
    • CMSで管理していない箇所の検索ができない
    • キーワードと一致した文字列のハイライトができない


またこのパターンを採用する場合の詳細として、以下の2種類の実装方法が考えられます。
それぞれのメリットとデメリットは以下の通りです。

1-a: qパラメータを利用する

  • メリット
    • 簡単に実装することができる
    • 検索結果の表示が速い
  • デメリット
    • 検索対象のフィールドを指定できない
    • 形態素解析を行なったキーワードに対する検索になるので、完全な部分一致にはならず、意図しない検索結果となる可能性がある

1-b: filtersパラメータ(contains)を利用する

  • メリット
    • 完全な部分一致での検索が可能
    • フィールド単位で検索対象の指定が可能
  • デメリット
    • 全件走査の検索となるため、コンテンツ量によっては、結果の表示に時間を要するケースがある

2. 外部のサイト内検索用のツールを利用するパターン

microCMSの機能ではなく、外部のツールを利用して検索機能を実装するパターンになります。

例として、Googleのプログラム可能な検索エンジンのようなサービスや、PageFindのようなOSSがあります。
メリットとデメリットは以下の通りです。

  • メリット
    • 検索に特化したツールとなるため、カスタマイズ性が高い
  • デメリット
    • 新規のツールの導入が必要となる