$meta (テキスト検索メタデータ)

最終更新:2026-10-09

$meta (テキスト検索メタデータ)

$meta は $text 検索のメタデータを射影します。最もよく使うのは関連度スコア textScore です。`{ score: { $meta: 'textScore' } }` のように指定します。$text クエリでのみ動作し、textScore でソートする前に射影しておく必要があります — 関連度順の検索結果を実現する定番パターンです。

カテゴリ投影
MongoDB バージョン2.6+
例の言語mongosh(シェル)

📝 構文

{ <output field>: { $meta: 'textScore' } }

⚙️ パラメータ

出力フィールドメタデータを受け取るフィールド(例: score)。
メタデータ名現在は 'textScore'。

戻り値:追加のメタデータフィールドを持つクエリ結果

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $meta: textScore を射影し、関連度順にソート
db.articles.find(
  { $text: { $search: 'mongodb' } },
  { title: 1, score: { $meta: 'textScore' } }
).sort({ score: { $meta: 'textScore' } })

出力:

// タイトルと関連度スコアを降順で返す

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q$meta はどのメタデータを返せますか?
A主にテキスト検索の関連度スコア textScore です。
Qなぜ textScore を先に射影するのですか?
Asort はクエリから見えるフィールドしか参照できないため、先に射影しておく必要があります。
Q$meta は $text 専用ですか?
Aはい。テキスト検索専用の機能です。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%