⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

MongoDB文本搜索

创建文本索引并执行全文搜索,支持中文分词和权重排序。 · 难度:入门 · +15XP

文本搜索

MongoDB 提供文本索引(text index)来支持全文搜索。可以搜索多个字段,支持语言分词、停用词和词干提取。对于中文,需要配置 ICU 分词器(MongoDB 4.2+)。

创建文本索引

db.articles.createIndex({ title: 'text', content: 'text' });
// 也可以指定权重
db.articles.createIndex({ title: 'text', content: 'text' }, { weights: { title: 10, content: 5 } });

执行搜索

db.articles.find({ $text: { $search: 'mongodb 数据库' } });
// 按相关性排序
db.articles.find({ $text: { $search: 'mongodb' } }, { score: { $meta: 'textScore' } })
  .sort({ score: { $meta: 'textScore' } });

中文搜索注意

MongoDB 文本索引默认使用英文分词。对于中文,建议:

表格:文本搜索操作符

操作符说明
$text执行文本搜索
$search搜索关键词
$language指定语言(如 'zh')
$caseSensitive是否区分大小写

练习提示: 创建一个包含中文文章的集合,建立文本索引,搜索“人工智能”并观察排序结果。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 83 篇
0 完成
🔥 0