マスターデータ全文検索

SURP MDMの全文検索機能を使って、マスターデータを高速に検索できます。PostgreSQLの全文検索エンジンを活用した、日本語対応の強力な検索機能です。


📋 概要

全文検索機能は、マスターデータのすべてのフィールドを横断して検索できる機能です。

主な特徴

  • 高速検索: PostgreSQLの全文検索インデックスを活用
  • 日本語対応: ひらがな、カタカナ、漢字にも対応
  • 複数キーワード: スペース区切りでAND検索
  • 部分一致: キーワードの一部でもヒット
  • 全フィールド対象: すべての文字列フィールドが検索対象

🔍 検索方法

基本的な使い方

ステップ1: マスター一覧を開く

  1. ダッシュボード → マスターデータ
  2. 検索したいマスターを選択

ステップ2: 検索ボックスに入力

  1. 画面上部の検索ボックスにキーワードを入力
  2. Enterキーを押すか、虫眼鏡アイコンをクリック

ステップ3: 検索結果を確認

  1. マッチしたレコードが一覧表示されます
  2. ハイライト表示で、どのフィールドがヒットしたか確認できます

💡 検索例

例1: 単一キーワード検索

検索キーワード: 山田

ヒットする例:

  • 氏名フィールドに「山田太郎」
  • 住所フィールドに「山田町1-2-3」
  • 備考フィールドに「山田さんから依頼」

例2: 複数キーワード検索(AND)

検索キーワード: 東京 営業

ヒットする例:

  • 住所「東京都渋谷区」+ 部署「営業部」
  • 備考「東京支社の営業担当」

ヒットしない例:

  • 住所「東京都渋谷区」のみ(「営業」がない)
  • 部署「営業部」のみ(「東京」がない)

例3: 部分一致検索

検索キーワード: パソコン

ヒットする例:

  • 商品名「ノートパソコン」
  • 商品名「デスクトップパソコン」
  • 説明「パソコン周辺機器」

例4: 数値検索

検索キーワード: 12345

ヒットする例:

  • 商品コード「P-12345」
  • 郵便番号「123-4567」
  • 電話番号「03-1234-5678」

🎯 検索対象フィールド

検索される フィールド型

全文検索は、以下のフィールド型が対象です:

  • 文字列(String): すべての文字列フィールド
  • テキスト(Text): 長文フィールド
  • メール(Email): メールアドレス
  • URL: URLフィールド
  • 電話番号(Phone): 電話番号フィールド
  • 郵便番号(Postal Code): 郵便番号フィールド

検索されないフィールド型

以下のフィールド型は全文検索の対象外です:

  • 数値(Number)
  • 日付(Date)
  • 真偽値(Boolean)
  • ファイル(File)
  • 選択肢(Select)※ 選択肢の値は検索されますが、ラベルは検索されません

⚡ 検索のヒント

より良い検索結果を得るために

1. 具体的なキーワードを使う

良い例: 営業部 東京 悪い例: 営業 (結果が多すぎる)

2. スペースでAND検索

複数のキーワードをスペースで区切ると、すべてのキーワードを含むレコードのみがヒットします。

: 山田 太郎 営業 → 「山田」「太郎」「営業」すべてを含むレコード

3. 短いキーワードは避ける

1〜2文字のキーワードは、ヒット数が多すぎる可能性があります。

良い例: マウス 悪い例: (ヒットが多すぎる)

4. 表記ゆれに注意

全文検索は完全一致ではありませんが、表記が大きく異なると検索できません。

:

  • 「株式会社」と検索 → 「(株)」はヒットしない
  • 「コンピューター」と検索 → 「コンピュータ」はヒットしない場合あり

🔧 検索の仕様

検索アルゴリズム

SURP MDMはPostgreSQLの全文検索機能(to_tsvector / to_tsquery)を使用しています。

特徴:

  • 部分一致: キーワードの一部でもヒット
  • AND検索: 複数キーワードはすべて含む必要がある
  • 大文字小文字を区別しない: 「ABC」と「abc」は同じ

検索パフォーマンス

  • 10万件以下: ほぼ瞬時に結果表示
  • 10万件以上: 数秒〜10秒程度
  • 100万件以上: インデックスが最適化されていれば10秒以内

大規模データでも高速に検索できるよう、PostgreSQLの全文検索インデックスが自動的に作成されます。


🚫 検索できない場合

よくある問題と対処法

問題1: 検索結果が0件

原因:

  • キーワードのスペルが間違っている
  • すべてのキーワードを含むレコードが存在しない
  • 検索対象外のフィールド型のみを検索している

対処法:

  • キーワードを減らす(AND検索の条件を緩める)
  • スペルを確認する
  • フィルター機能と併用する

問題2: 検索が遅い

原因:

  • データ量が非常に多い(100万件以上)
  • データベースのインデックスが作成されていない

対処法:

  • フィルター機能で事前に絞り込む
  • 管理者に連絡してインデックスを確認してもらう

💡 フィルターとの併用

全文検索とフィルター機能を併用すると、より精度の高い検索ができます。

使用例

シナリオ: 東京在住の営業部社員を検索

手順:

  1. フィルターで部署 = 「営業部」を設定
  2. 全文検索で「東京」と検索

結果: 営業部の中で、住所に「東京」を含む社員のみ表示


📚 関連ページ

📊 マスター管理

マスターデータの基本的な使い方

マスター管理ガイドへ →

📥 CSVインポート

大量データのインポート方法

CSVインポートガイドへ →

🤖 AI機能

AIによるデータ検索と分析

AI機能ガイドへ →

📖 クイックスタート

基本的な使い方を5分で学ぶ

クイックスタートへ →