【MongoDB】索引 – 文本索引
一、准备工作
这里准备一些数据
db.books.insertMany([{_id: 1, name: "Java", description: "java 入门图书", translation: [{ language: "english", description: "java basic book" }]},{_id: 2, name: "C++", description: "C++ 入门图书", translation: [{ language: "english", description: "c++ basic book" }]},{_id: 3, name: "Java设计模式", description: "java 设计模式", translation: [{ language: "english", description: "c++ design mode" }]}
]);
二、创建索引
1、创建索引
db.books.createIndex({description: 'text'});
上面创建了description字段的文本索引
2、查询索引
db.books.getIndexes();
结果如下:

可以看到多了一个名称为description_text的索引;另外可以看到索引中有权重(weights)、默认语言(default_language)、指定语言字段(language_override)、文本索引版本(textIndexVersion)
三、示例:使用英文查询
1、执行查询
db.books.find ({$text: { $search: 'java'}});
结果如下:

2、执行过程
db.books.find ({$text: { $search: 'java'}}).explain();
结果如下:

可以看到查询过程中会使用到索引名称为description_text的索引
四、示例:使用中文查询
1、执行查询
db.books.find ({$text: { $search: '入门语言'}});
结果如下:

2、执行过程
db.books.find ({$text: { $search: '入门语言'}}).explain();
结果如下:

可以看到查询过程中会使用到索引名称为description_text的索引
五、示例:使用中文查询
1、执行查询
db.books.find ({$text: { $search: '入门'}});
查询不到任何结果
2、执行过程
db.books.find ({$text: { $search: '入门'}}).explain();
结果如下:

可以看到查询过程中会使用到索引名称为description_text的索引
3、分析
在创建文本索引时,会先对文本进行分词,根据分词后的结果建立索引;这里分词使用的是空格,所以使用java或者入门语言进行搜索时都可以查询到结果,而使用入门进行搜索时却无法查询到任何数据。
相关文章:
【MongoDB】索引 – 文本索引
一、准备工作 这里准备一些数据 db.books.insertMany([{_id: 1, name: "Java", description: "java 入门图书", translation: [{ language: "english", description: "java basic book" }]},{_id: 2, name: "C", descript…...
【广州华锐互动】影视制作VR在线学习:身临其境,提高学习效率
随着科技的不断发展,影视后期制作技术也在日新月异。然而,传统的教学方式往往难以满足学员的学习需求,无法充分展现影视后期制作的魅力和潜力。近年来,虚拟现实(VR)技术的崛起为教学领域带来了新的机遇。通过VR教学课件࿰…...
Linux 命令:PS(进程状态)
1. 写在前面 本文主要介绍:Linux 下常用命令 PS —— 进程状态; 公众号: 滑翔的纸飞机 2. PS — 介绍(进程状态) ps 命令:显示 Linux 系统中运行进程有关的信息。 rootdev:~# psPID TTY TIME C…...
手把手教你:LLama2原始权重转HF模型
LLama2是meta最新开源的语言大模型,训练数据集2万亿token,上下文长度由llama的2048扩展到4096,可以理解和生成更长的文本,包括7B、13B和70B三个模型,在各种基准集的测试上表现突出,该模型可用于研究和商业用…...
后入能先出,一文搞懂栈
目录 什么是栈数组实现链表实现栈能这么玩总结 什么是栈 栈在我们日常编码中遇到的非常多,很多人对栈的接触可能仅仅局限在 递归使用的栈 和 StackOverflowException,栈是一种后进先出的数据结构(可以想象生化金字塔的牢房和生化角斗场的狗洞)。 栈&…...
京东API接口的应用场景:商品信息查询,商品详情获取
京东API接口的应用场景涵盖了电商业务的各个方面,通过API的方式,开发者可以方便地获取京东平台上的商品信息、用户信息、订单信息等,进而进行个性化的应用开发。以下是几个典型的应用场景: 商品信息查询:通过京东API接…...
微信小程序使用iconfont坑
下载解压 font-face {font-family: "iconfont"; /* Project id 4322044 */src: url(iconfont.woff2?t1699515502419) format(woff2),url(iconfont.woff?t1699515502419) format(woff),url(iconfont.ttf?t1699515502419) format(truetype); }.iconfont {font-famil…...
最新Cocos Creator 3.x 如何动态修改3D物体的透明度
Cocos Creator 3.x 的2D UI有个组件UIOpacity组件可以动态修改UI的透明度,非常方便。很多同学想3D物体上也有一个这样的组件来动态的控制与修改3D物体的透明度。今天基于Cocos Creator 3.8 来实现一个可以动态修改3D物体透明度的组件Opacity3D。 对啦!这里有个游戏…...
golang 2018,go 1.19安装Gin
GOPROXYhttps://mirrors.aliyun.com/goproxy/ 一致提示URL不能有点,给我整郁闷了,换了这个地址好了 但是一致提示zip的包问题,最后还是不行又换回七牛 NEWBEE! [GIN-debug] Environment variable PORT is undefined. Using por…...
常用的三角函数公式
sin 2 x cos 2 x 1 \sin ^2 x \cos ^2 x 1 sin2xcos2x1 tan x sin x cos x \tan x \dfrac{\sin x}{\cos x} tanxcosxsinx cot x 1 tan x cos x sin x \cot x \dfrac{1}{\tan x}\dfrac{\cos x}{\sin x} cotxtanx1sinxcosx sec …...
【MySQL】一文学会所有MySQL基础知识以及基本面试题
文章目录 前言 目录 文章目录 前言 一、主流数据库以及如何登陆数据库 二、常用命令使用 三、SQL分类 3.1 存储引擎 四、创建数据库如何设置编码等问题 4.1操纵数据库 4.2操纵表 五、数据类型 六、表的约束 七、基本查询 八、函数 九、复合查询 十、表的内连和外连 十一、索引…...
self.register_buffer方法使用解析(pytorch)
self.register_buffer就是pytorch框架用来保存不更新参数的方法。 列子如下: self.register_buffer("position_emb", torch.randn((5, 3)))第一个参数position_emb传入一个字符串,表示这组参数的名字,第二个就是tensor形式的参数…...
关于卷积神经网络中如何计算卷积核大小(kernels)
首先需要说明的一点是,虽然卷积层得名于卷积( convolution )运算,但我们通常在卷积层中使用更加直观的计算方式,叫做互相关( cross-correlation )运算。 也就是说,其实我们现在在这里…...
python使用selenium做自动化,最新版Chrome与chromedriver不兼容
目前Chrome版本是118.0.5993.118 下方是版本对应的下载地址: chrome版本118: https://download.csdn.net/download/qq_35845339/88510476 chrome版本119: chromedriverlinux64https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testin…...
算法进阶指南图论 通信线路
通信线路 思路:我们考虑需要升级的那条电缆的花费,若其花费为 w ,那么从 1 到 n 的路径上,至多存在 k 条路径的价值大于 w ,这具有一定的单调性,当花费 w 越大,我们路径上价值大于 w 的花费会越…...
【QEMU-tap-windows-Xshell】QEMU 创建 aarch64虚拟机(附有QEMU免费资源)
“从零开始:在Windows上创建aarch64(ARM64)虚拟机” 前言 aarch64(ARM64)架构是一种现代的、基于 ARM 技术的计算架构,具有诸多优点,如低功耗、高性能和广泛应用等。为了在 Windows 平台上体验…...
strtok函数详解:字符串【分割】的利器
目录 一,strtok函数简介 二,strtok函数的用法 三,strtok函数的注意事项 一,strtok函数简介 strtok函数可以帮助我们将一个字符串按照指定的分隔符进行分割,从而得到我们想要的子字符串。 🍂函数头文件&am…...
winui3开发笔记(二)自定义标题栏
参考文章链接:https://www.programminghunter.com/article/46392310600/ 注意事项 获取 AppWindowTitleBar 的实例并设置其颜色属性时,InitializeTitleBar(AppWindow.TitleBar);,只适用于Windows App SDK 1.2及以上,所以如果用w…...
MapReduce 读写数据库
MapReduce 读写数据库 经常听到小伙伴吐槽 MapReduce 计算的结果无法直接写入数据库, 实际上 MapReduce 是有操作数据库实现的 本案例代码将实现 MapReduce 数据库读写操作和将数据表中数据复制到另外一张数据表中 准备数据表 create database htu; use htu; creat…...
设计模式 -- 状态模式(State Pattern)
状态模式:类的行为基于它的状态改变 属于行为型模式,创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。在代码中包含大量与对象状态有关的条件语句可以通过此模式将各种具体的状态类抽象出来 介绍 意图:允许对象在…...
无需代码!MIT App Inventor:可视化编程让每个人都能创建Android和iOS应用
无需代码!MIT App Inventor:可视化编程让每个人都能创建Android和iOS应用 【免费下载链接】appinventor-sources MIT App Inventor Public Open Source 项目地址: https://gitcode.com/gh_mirrors/ap/appinventor-sources 你是否梦想过开发自己的…...
【2026唯一官方认证路径】:MCP低代码组件集成的4层安全校验、6项元数据契约与1张准入清单
更多请点击: https://intelliparadigm.com 第一章:【2026唯一官方认证路径】:MCP低代码组件集成的4层安全校验、6项元数据契约与1张准入清单 MCP(Model-Component-Protocol)低代码平台自2025年起由国际低代码联盟&…...
算力租赁入门:看懂这几点选对不踩坑
随着大语言模型、文生图以及视频生成等AI应用大量地爆发式增长,算力对于不少开发者还有企业来讲,已然成为不可或缺的资源。然而,自建GPU服务器的成本非常高昂,周期又极其漫长,致使许多人望而却步。算力租赁作为一种灵活…...
M2LOrder情绪识别模型一键部署教程:Python环境快速配置指南
M2LOrder情绪识别模型一键部署教程:Python环境快速配置指南 最近在折腾AI模型部署的朋友,可能都遇到过环境配置这个“拦路虎”。不同的模型依赖不同版本的库,稍有不慎就是满屏的报错,让人头疼。今天咱们就来聊聊一个特别实用的模…...
创维E900V22C电视盒子刷机指南:零成本变身高性能4K播放器
创维E900V22C电视盒子刷机指南:零成本变身高性能4K播放器 【免费下载链接】e900v22c-CoreELEC Build CoreELEC for Skyworth e900v22c 项目地址: https://gitcode.com/gh_mirrors/e9/e900v22c-CoreELEC 想让家中闲置的创维E900V22C电视盒子焕发新生吗&#x…...
如何高效管理系统资源:专业级CPU性能优化工具完整指南
如何高效管理系统资源:专业级CPU性能优化工具完整指南 【免费下载链接】CPUDoc 项目地址: https://gitcode.com/gh_mirrors/cp/CPUDoc 还在为电脑运行卡顿、游戏帧率不稳而烦恼吗?CPUDoc这款免费开源的专业级CPU性能优化工具能够通过智能线程调度…...
5分钟快速上手:免费高效的语音转文字工具AsrTools完整指南
5分钟快速上手:免费高效的语音转文字工具AsrTools完整指南 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accur…...
3个高效场景下VideoDownloadHelper视频下载助手的专业应用指南
3个高效场景下VideoDownloadHelper视频下载助手的专业应用指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存网络教学视频而…...
从ICC老用户视角看Innovus:为什么C家工具在FinFET时代能后来居上?
从ICC老用户视角看Innovus:为什么C家工具在FinFET时代能后来居上? 作为一名在物理设计领域摸爬滚打十余年的工程师,我见证了从ICC到ICC2再到Innovus的行业变迁。记得2015年第一次接触FinFET工艺时,面对ICC频繁的崩溃和长达数小时的…...
如何用YuukiPS启动器快速管理多账号动漫游戏:5个实用技巧
如何用YuukiPS启动器快速管理多账号动漫游戏:5个实用技巧 【免费下载链接】Launcher-PC 项目地址: https://gitcode.com/gh_mirrors/la/Launcher-PC 如果你经常在《原神》等动漫游戏中切换多个账号,或者为游戏补丁更新、网络连接问题烦恼&#x…...
