【MongoDB】索引 – 文本索引(指定语言)

一、语言列表

语言名称 代码
danish da
dutch nl
english en
finnish fi
french fr
german de
hungarian hu
italian it
norwegian nb
portuguese pt
romanian ro
russian ru
spanish es
swedish sv
turkish tr

二、指定默认语言

创建文本索引时默认使用的语言是english,但可以在创建索引的时候指定默认语言

1、准备工作

这里准备一些数据

javascript 复制代码
db.books.drop();

db.books.insert({_id: 1, name: "Java", yuyan: "es", description: "java 入门图书" });
db.books.insert({_id: 2, name: "C++", yuyan: "en", description: "C++ 入门图书" });
db.books.insert({_id: 3, name: "Java设计模式", yuyan: "es", description: "java 设计模式" });

2、创建索引

javascript 复制代码
db.books.createIndex(
    {description: 'text'}, 
    {default_language: 'es'}
);

上面创建了description字段的文本索引并指定了default_language为es;

3、查询索引

javascript 复制代码
db.books.getIndexes();

结果如下:

可以看到default_language设置成了es

三、指定语言字段

创建文本索引时指定语言的字段默认是language,但可以在创建索引的时候指定语言字段

1、准备工作

这里准备一些数据

javascript 复制代码
db.books.drop();

db.books.insert({_id: 1, name: "Java", yuyan: "es", description: "java 入门图书" });
db.books.insert({_id: 2, name: "C++", yuyan: "en", description: "C++ 入门图书" });
db.books.insert({_id: 3, name: "Java设计模式", yuyan: "es", description: "java 设计模式" });

2、创建索引

javascript 复制代码
db.books.createIndex(
    {description: 'text'}, 
    {language_override: 'yuyan'}
);

上面创建了description字段的文本索引并指定了language_override为yuyan字段,在索引创建时会根据yuyan字段的值作为语言对文本创建索引

3、查询索引

javascript 复制代码
db.books.getIndexes();

结果如下:

可以看到language_override设置成了yuyan字段

相关推荐
青春:一叶知秋2 小时前
【Redis存储】List列表
数据库·redis·缓存
爆更小哇4 小时前
MyBatis的TypeHandler :优雅地实现数据加密与解密
数据库·后端·mybatis
likuolei5 小时前
Eclipse 创建 Java 接口
java·数据库·eclipse
w***15315 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端
q***65695 小时前
PostgreSQL 17 发布了!非常稳定的版本
数据库·postgresql
云飞云共享云桌面6 小时前
如何降低非标自动化工厂的研发软件采购成本
运维·服务器·网络·数据库·性能优化·自动化
泰克教育官方账号6 小时前
泰涨知识 | 什么是自动化巡检?
运维·服务器·数据库
oneslide6 小时前
分享一个MySQL数据库备份恢复脚本--II
数据库·mysql
Gauss松鼠会6 小时前
【GaussDB】使用DBLINK连接到ORACLE
数据库·sql·database·gaussdb
Arva .7 小时前
深度分页、读写分离、分库分表后 SQL 该如何优化?
数据库·sql