当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 169869提问 提问时间:2023-11-08 18:55:08阅读次数: 69

最佳答案 问答题库698位专家为你答疑解惑

一、语言列表

语言名称

代码

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();

结果如下:

可以看到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();

结果如下:

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

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"【MongoDB】索引 – 文本索引(指定语言)":http://eshow365.cn/6-35507-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!