【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、准备工作

这里准备一些数据

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、创建索引

db.books.createIndex(
    {description: 'text'}, 
    {default_language: 'es'}
);

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

3、查询索引

db.books.getIndexes();

结果如下:

【MongoDB】索引 – 文本索引(指定语言)_第1张图片

可以看到default_language设置成了es

三、指定语言字段

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

1、准备工作

这里准备一些数据

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、创建索引

db.books.createIndex(
    {description: 'text'}, 
    {language_override: 'yuyan'}
);

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

3、查询索引

db.books.getIndexes();

结果如下:

【MongoDB】索引 – 文本索引(指定语言)_第2张图片

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

你可能感兴趣的:(MongoDB,mongodb,nosql,数据库)