【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字段

相关推荐
1024小神19 分钟前
hono框架绑定cloudflare的d1数据库操作步骤
数据库
KellenKellenHao2 小时前
MySQL数据库主从复制
数据库·mysql
@ chen2 小时前
Redis事务机制
数据库·redis
KaiwuDB3 小时前
使用Docker实现KWDB数据库的快速部署与配置
数据库·docker
一只fish3 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(16)
数据库·mysql
泊浮目3 小时前
未来数据库硬件-网络篇
数据库·架构·云计算
静若繁花_jingjing4 小时前
Redis线程模型
java·数据库·redis
飞翔的佩奇5 小时前
Java项目:基于SSM框架实现的忘忧小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
java·数据库·mysql·vue·毕业设计·ssm框架·小区物业管理系统
ZWZhangYu11 小时前
LangChain 构建向量数据库和检索器
数据库·langchain·easyui
feifeigo12312 小时前
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
数据库·mysql·adb