mongodb-search-and-ai
MongoDBのAtlas Search(全文検索)、Vector Search(セマンティック検索)、ハイブリッド検索の実装と最適化をガイドするスキルです。オートコンプリート・あいまい検索・ファセット検索などのテキスト検索、埋め込みベクトルを活用したRAGアプリケーション、大文字小文字を区別しない複数フィールドにまたがる検索など、多様な検索機能の構築が必要な場合に使用します。MongoDB MCPサーバーを通じて、適切な検索タイプの選定からインデックス作成・クエリ構築・パフォーマンス最適化までの一連のワークフローを提供します。
description の原文を見る
| Guides MongoDB users through implementing and optimizing Atlas Search (full-text), Vector Search (semantic), and Hybrid Search solutions. Use this skill when users need to build search functionality for text-based queries (autocomplete, fuzzy matching, faceted search), semantic similarity (embeddings, RAG applications), or combined approaches. Also use when users need text containment, substring matching ('contains', 'includes', 'appears in'), case-insensitive or multi-field text search, or filtering across many fields with variable combinations. Provides workflows for selecting the right search type, creating indexes, constructing queries, and optimizing performance using the MongoDB MCP server.
SKILL.md 本文
MongoDB Search and AI Recommendations Skill
MongoDB ユーザーが Atlas Search (語彙ベース)、Vector Search (セマンティック)、Hybrid Search (組み合わせ) ソリューションの実装、最適化、トラブルシューティングをするのをサポートしています。目標は、ユーザーのユースケースを理解し、適切な検索アプローチを推奨し、効果的なインデックスとクエリの構築を支援することです。
コア プリンシパル
- 構築する前に理解する - ユースケースを検証して、正しいソリューションを推奨していることを確認する
- 常に最初に検査する - 推奨を行う前に、既存のインデックスとスキーマを確認する
- 実行する前に説明する - どのインデックスが作成されるかを説明し、明確な承認を求める
- ユースケースに合わせて最適化する - 異なるユースケースには異なるインデックス構成とクエリ パターンが必要
- 読み取り専用シナリオを処理する -
create、update、delete操作ツールにアクセスできない場合、読み取り専用モードです。完全なインデックス構成 JSON を提供し、ユーザーが Atlas UI を介したものも含めて自分で作成できるようにします。
ワークフロー
1. ディスカバリー フェーズ
環境を確認する:
list-databasesとlist-collectionsを使用して、利用可能なデータを理解する- ユーザーがコレクションについて言及した場合、
collection-schemaを使用してフィールド構造を検査する collection-indexesを使用して既存のインデックスを確認するatlas-inspect-clusterを使用してクラスターの MongoDB バージョンを判断する
ユースケースを理解する: ユーザーのリクエストが曖昧な場合:
- ニーズについて明確化する質問をする
- スキーマから可能性のあるコレクションとフィールドを推測する
- 進める前に理解を確認する
よくある質問:
- ユーザーは何を検索していますか? (製品、映画、ドキュメントなど)
- どのフィールドが検索可能なコンテンツを含んでいますか?
- 完全一致、ファジー マッチング、またはセマンティック類似性が必要ですか?
- フィルター (価格範囲、カテゴリ、日付) が必要ですか?
- オートコンプリート/タイプアヘッド機能が必要ですか?
2. 検索タイプを決定する
Atlas Search (語彙ベース/全文検索): ユーザーが以下が必要な場合に使用:
- 関連性スコアリング付きのキーワード マッチング
- タイポ許容度のためのファジー マッチング
- オートコンプリート/タイプアヘッド
- フィルター付きのファセット検索
- 言語固有のテキスト分析
- トークンベースの検索
- ビューを使用した語彙検索
Vector Search (セマンティック): ユーザーが以下が必要な場合に使用:
- セマンティック類似性 ("来春物語に関する映画を探す")
- 自然言語理解
- RAG (Retrieval Augmented Generation) アプリケーション
- 概念的に類似した項目の検索
- クロスモーダル検索
- ビューを使用した Vector Search
Hybrid Search: ユーザーが以下が必要な場合に使用:
- 複数の検索アプローチの組み合わせ (例: ベクトル + 語彙、複数のテキスト検索)
- "『壮大な宇宙戦闘』に似たアクション映画を探す" のようなクエリ (キーワード フィルタリングをセマンティック類似性と組み合わせる)
- 複数の関連性基準を考慮した結果
$rankFusion(ランクベース) または$scoreFusion(スコアベース) を使用してパイプラインをマージする
3. バージョン チェック (Hybrid Search のみ)
検索タイプが $rankFusion または $scoreFusion を使用する Hybrid Search の場合、続行する前にクラスター バージョンを確認します:
$rankFusionには MongoDB 8.0 以上が必要です$scoreFusionには MongoDB 8.2 以上が必要です
バージョン要件が満たされていない場合、進めないでください — ユーザーに機能が利用できないことを通知し、アップグレードを提案してください。references/hybrid-search.md を参照しないでください。
検索タイプが Lexical、Vector、または語彙プリフィルター パターン ($search 内の vectorSearch オペレーター) の場合、次のステップに進みます。
4. リファレンス ファイルを参照する
インデックスまたはクエリを推奨する前に、常に適切なリファレンス ファイルを参照してください:
- Lexical:
references/lexical-search-indexing.md(インデックス) とreferences/lexical-search-querying.md(クエリ) の両方を参照する - Vector:
references/vector-search.mdを参照する - Hybrid:
references/hybrid-search.mdを参照する (そして、その中の個別パイプライン ステージの語彙/ベクトル ファイルも参照)
5. 実行と検証
インデックスを作成する:
- 平易な言語でインデックス構成を説明する
- JSON 構造を表示する
- ユーザーにインデックスの名前を付けたいかを尋ねる
- 明確な承認を得る: "このインデックスを作成してもよろしいですか?"
- 承認後、MCP の
create-indexツールを使用する - 読み取り専用モードでは、Atlas UI を介して作成するための完全なインデックス JSON を提供する
クエリを実行する:
- 集計パイプラインを表示する
- MCP の
aggregateツールを使用して実行する - 結果を明確に提示する
既存のクエリを改善する:
- ユーザーに現在のクエリを共有するよう求める
- 関連するリファレンス ファイル内のクエリ パターンとベスト プラクティスと比較する
- Before/After の例を含めた具体的な改善を提案する
- 改訂されたクエリを
aggregateで実行して結果を検証する
避けるべきアンチパターン
検索ユースケースに対して $regex または $text を推奨しないでください:
- $regex: 全文検索用に設計されていません。関連性スコアリング、ファジー マッチング、言語対応のトークン化がありません。
- $text: レガシー オペレーターで、検索ワークロードに対してスケーリングが良くありません。
ユーザーが検索ユースケースに対して regex/text を求める場合、Atlas Search がより適切である理由を説明し、同等のパターンを表示してください。
エッジケースの処理
ユーザーが見つからないフィールドについて言及:
collection-schemaを使用して利用可能なフィールドを検査する- 代替案を提案するか、明確化を求める
必要なフィールドが存在しない:
- 追加する必要があるものと方法を説明する (例: Vector Search のためのエンベディング フィールド)
クエリが失敗するか、インデックスが見つからない:
collection-indexesを使用してインデックスの存在を確認する- 見つからない場合、最初にインデックスを作成する必要があることを説明する
複数のコレクションが関連している:
- オプションをリストしアップし、どのコレクションを意図しているかを尋ねる
- コンテキストで明白な場合、仮定を確認する
忘れずに
- 新しいインデックスを推奨する前に、常に既存のインデックスを確認する
- 技術的な概念をアクセス可能な言語で説明する
- インデックスを作成する前に承認を要求する
- ユーザーのビジネス要件を技術実装にマッピングする
- ユースケースに適切な検索タイプを使用する
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mongodb
- リポジトリ
- mongodb/agent-skills
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/mongodb/agent-skills / ライセンス: Apache-2.0
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。