MongoDB聚合:$listSearchIndexes

$listSearchIndexes返回指定集合现有Atlas Search索引的信息。

**重要:**该命令只能在托管的MongoDB Allas,并且要求群集层级至少为M10。

语法

db.<collection>.aggregate([{$listSearchIndexes:{id: <indexId>,name: <indexName>}}]
)

参数说明:

  • id,字符串,可选参数,要查询索引的id
  • name,字符串,可选参数,要查询索引的名称

不能同时指定idname,必须要有listSearchIndexes的权限:

访问控制

{resource: {db : <database>,collection: <collection>},actions: [ "listSearchIndexes" ]
}

内置读角色提供listSearchIndexes权限。下面的示例授予了qa数据库的read角色:

db.grantRolesToUser("<user>",[ { role: "read", db: "qa" } ]
)

输出字段

$listSearchIndexes返回一个文档数组,数组中的每个文件都包含以下字段:

字段类型描述
id字符串索引的唯一标识
name字符串索引名称
status字符串索引状态
queryable布尔索引是否已经准备好被查询
latestDefinitionVersion文档索引版本
latestDefinitionVersion.version整数索引定义的版本,当更新索引定义时,版本号会自动增加
latestDefinitionVersion.createdAt日期索引定义创建的时间
latestDefinition文档最新的索引定义
statusDetail文档数组包含了每个搜索主机(mongot)上的索引状态
statusDetail.[n].hostname字符串相应的mongot的主机名
statusDetail.[n].status字符串相应的mongot的索引状态
statusDetail.[n].queryable布尔相应的mongot的索引是否可被查询
statusDetail.[n].mainIndex文档相应的mongot的活动索引的状态
statusDetail.[n].stagedIndex文档包含了相应mongot上,在后台构建的索引的状态信息。该字段只会出现在构建一个索引去更新已存在索引的时候
synonymMappingStatus字符串索引的同义词映射状态,该字段只会出现在索引有同义词定义时。可以是BUILDINGFAILEDREADY这个三个值之一。返回的状态是每个独立mongot上同义词映射的概括
synonymMappingStatusDetail文档数组该字段(和其子字段)只有当索引有同义词定义时才会出现。包含了每个搜索主机(mongot)的索引的同义词映射状态
synonymMappingStatusDetail.[n].status字符串所有mongot进程中相应同义词映射的状态
synonymMappingStatusDetail.[n].queryable布尔表示相应的同义词映射是否支持跨所有mongot进程的查询
message字符串描述同义词映射的错误(如果适用)。只有当该同义词映射的状态为FAILED时才会出现

索引状态详情

下表描述了statusDetail.[mongot].mainIndexstatusDetail.[mongot].stagedIndex文档的内嵌字段:

这些字段描述了特定mongot的索引状态。

|字段|类型|描述|
|-|-|
|status|字符串|相应mongot上索引的生成状态|
|queryable|布尔|相应mongot上索引是否可被查询|
|synonymMappingStatus|字符串|索引生成的同义词映射在相应mongot上的状态。只有当索引定义了同义词时才会出现|
|synonymMappingStatusDetails|文档|包含索引的同义词映射在相应mongot上的状态。该字段(及其子字段)只有在索引定义了同义词时才会出现|
|definitionVersion|文档|描述生成索引时使用的索引定义版本。
|definitionVersion.version|整数|索引生成在相应mongot上使用的版本号。更新索引定义时,更新后的索引的版本号将递增|
|definitionVersion.createdAt|日期|创建索引定义的时间|
|definition|文档|建立该索引时使用的定义|

同义词映射详细信息

下表描述了以下对象的嵌入字段:

  • statusDetail.mainIndex.synonymMappingStatusDetails.<synonymMapping>
  • statusDetail.stagedIndex.synonymMappingStatusDetails<synonymMapping>

|字段|类型|描述|
|-|-|
|status|字符串|跨mongot进程的同义词映射的状态。|
|queryable|布尔|指示同义词映射是否可以支持对相应mongot进程的查询。|
|message|字符串|描述同义词映射的错误(如果适用)。只有当该同义词映射的状态为FAILED时才会出现|

Atlas Search索引状态

$listSearchIndexesstatus字段可以是下面的值:

状态描述
BUILDING当编辑后,Atlas构建或重建索引时或当Atlas Search无法跟上采集索引的变化时(会在后台重建索引),状态为BUILDING;当索引处于BUILDDING时,对于新建索引,Atlas Search不能使用索引查询直到索引构建完成;对于新建索引,Atlas Search会先试用旧索引定义,直到新索引建好后
FAILED索引构建失败,索引可能因索引定义无效而进入FAILED状态
PENDINGAtlas 尚未开始构建索引
READY索引就绪可以用于查询
STALE索引可查询,但已停止从索引集合复制数据。对该索引的搜索可能会返回过期数据。由于复制错误,索引可能会进入STALE状态

错误

7.0.3 版中的更改:此命令在非Atlas上执行时会出错:

db.names.aggregate( [{ $listSearchIndexes: { } }
] )
MongoServerError: PlanExecutor error during aggregation :: caused by :: Search index commands are only supported with Atlas.

在以前的版本中,如果在非Atlas上执行该命令,则返回空结果。

举例

返回所有查询索引

下面的示例将返回电影收藏中的所有Atlas Search索引:

db.movies.aggregate([{$listSearchIndexes: { }}]
)

输出:

[{id: '6524096020da840844a4c4a7',name: 'default',status: 'BUILDING',queryable: true,latestDefinitionVersion: {version: 2,createdAt: ISODate("2023-10-09T14:51:57.355Z")},latestDefinition: {mappings: { dynamic: true },storedSource: { include: [ 'awards.text' ] }},statusDetail: [{hostname: 'atlas-n1cm1j-shard-00-02',status: 'BUILDING',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:08:32.000Z")},definition: { mappings: { dynamic: true, fields: {} } }},stagedIndex: {status: 'PENDING',queryable: false,definitionVersion: {version: 1,createdAt: ISODate("2023-10-09T14:51:29.000Z")},definition: {mappings: { dynamic: true, fields: {} },storedSource: true}}},{hostname: 'atlas-n1cm1j-shard-00-01',status: 'BUILDING',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:08:32.000Z")},definition: { mappings: { dynamic: true, fields: {} } }},stagedIndex: {status: 'PENDING',queryable: false,definitionVersion: {version: 1,createdAt: ISODate("2023-10-09T14:51:29.000Z")},definition: {mappings: { dynamic: true, fields: {} },storedSource: true}}},{hostname: 'atlas-n1cm1j-shard-00-00',status: 'BUILDING',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:08:32.000Z")},definition: { mappings: { dynamic: true, fields: {} } }}}]},{id: '65240be420da840844a4d077',name: 'synonym_mappings',status: 'READY',queryable: true,latestDefinitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:19:16.305Z")},latestDefinition: {mappings: {dynamic: true,fields: {fullplot: { type: 'string' }}},synonyms: [{name: 'synonym_mapping',analyzer: 'lucene.english',source: { collection: 'synonyms' }}]},synonymMappingStatus: 'READY',synonymMappingStatusDetail: [{synonym_mapping: {status: 'READY',queryable: true}}],statusDetail: [{hostname: 'atlas-n1cm1j-shard-00-02',status: 'READY',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:19:16.000Z")},definition: {mappings: {dynamic: true,fields: {fullplot: {type: 'string',indexOptions: 'offsets',store: true,norms: 'include'}}},synonyms: [{name: 'synonym_mapping',analyzer: 'lucene.english',source: { collection: 'synonyms' }}]},synonymMappingStatus: 'READY',synonymMappingStatusDetail: [{synonym_mapping: {status: 'READY',queryable: true}}]}},{hostname: 'atlas-n1cm1j-shard-00-01',status: 'READY',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:19:16.000Z")},definition: {mappings: {dynamic: true,fields: {fullplot: {type: 'string',indexOptions: 'offsets',store: true,norms: 'include'}}},synonyms: [{name: 'synonym_mapping',analyzer: 'lucene.english',source: { collection: 'synonyms' }}]},synonymMappingStatus: 'READY',synonymMappingStatusDetail: [{synonym_mapping: {status: 'READY',queryable: true}}]}},{hostname: 'atlas-n1cm1j-shard-00-00',status: 'READY',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:19:16.000Z")},definition: {mappings: {dynamic: true,fields: {fullplot: {type: 'string',indexOptions: 'offsets',store: true,norms: 'include'}}},synonyms: [{name: 'synonym_mapping',analyzer: 'lucene.english',source: { collection: 'synonyms' }}]},synonymMappingStatus: 'READY',synonymMappingStatusDetail: [{synonym_mapping: {status: 'READY',queryable: true}}]}}]}
]

按名称返回单个搜索索引

下面的示例将返回电影集合中名为synonym-mappings的索引:

db.movies.aggregate([{$listSearchIndexes:{name: "synonym-mappings"}}]
)

结果为:

[{id: '65240be420da840844a4d077',name: 'synonym_mappings',status: 'READY',queryable: true,latestDefinitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:19:16.305Z")},latestDefinition: {mappings: {dynamic: true,fields: {fullplot: { type: 'string' }}},synonyms: [{name: 'synonym_mapping',analyzer: 'lucene.english',source: { collection: 'synonyms' }}]},synonymMappingStatus: 'READY',synonymMappingStatusDetail: [{synonym_mapping: {status: 'READY',queryable: true}}],statusDetail: [{hostname: 'atlas-n1cm1j-shard-00-02',status: 'READY',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:19:16.000Z")},definition: {mappings: {dynamic: true,fields: {fullplot: {type: 'string',indexOptions: 'offsets',store: true,norms: 'include'}}},synonyms: [{name: 'synonym_mapping',analyzer: 'lucene.english',source: { collection: 'synonyms' }}]},synonymMappingStatus: 'READY',synonymMappingStatusDetail: [{synonym_mapping: {status: 'READY',queryable: true}}]}},{hostname: 'atlas-n1cm1j-shard-00-01',status: 'READY',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:19:16.000Z")},definition: {mappings: {dynamic: true,fields: {fullplot: {type: 'string',indexOptions: 'offsets',store: true,norms: 'include'}}},synonyms: [{name: 'synonym_mapping',analyzer: 'lucene.english',source: { collection: 'synonyms' }}]},synonymMappingStatus: 'READY',synonymMappingStatusDetail: [{synonym_mapping: {status: 'READY',queryable: true}}]}},{hostname: 'atlas-n1cm1j-shard-00-00',status: 'READY',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:19:16.000Z")},definition: {mappings: {dynamic: true,fields: {fullplot: {type: 'string',indexOptions: 'offsets',store: true,norms: 'include'}}},synonyms: [{name: 'synonym_mapping',analyzer: 'lucene.english',source: { collection: 'synonyms' }}]},synonymMappingStatus: 'READY',synonymMappingStatusDetail: [{synonym_mapping: {status: 'READY',queryable: true}}]}}]}
]

按id返回单个搜索索引

下面的示例以提供的id返回搜索索引:

db.movies.aggregate([{$listSearchIndexes:{id: "6524096020da840844a4c4a7"}}]
)

结果:

[{id: '6524096020da840844a4c4a7',name: 'default',status: 'BUILDING',queryable: true,latestDefinitionVersion: {version: 2,createdAt: ISODate("2023-10-09T14:51:57.355Z")},latestDefinition: {mappings: { dynamic: true },storedSource: { include: [ 'awards.text' ] }},statusDetail: [{hostname: 'atlas-n1cm1j-shard-00-02',status: 'BUILDING',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:08:32.000Z")},definition: { mappings: { dynamic: true, fields: {} } }},stagedIndex: {status: 'PENDING',queryable: false,definitionVersion: {version: 1,createdAt: ISODate("2023-10-09T14:51:29.000Z")},definition: {mappings: { dynamic: true, fields: {} },storedSource: true}}},{hostname: 'atlas-n1cm1j-shard-00-01',status: 'BUILDING',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:08:32.000Z")},definition: { mappings: { dynamic: true, fields: {} } }},stagedIndex: {status: 'PENDING',queryable: false,definitionVersion: {version: 1,createdAt: ISODate("2023-10-09T14:51:29.000Z")},definition: {mappings: { dynamic: true, fields: {} },storedSource: true}}},{hostname: 'atlas-n1cm1j-shard-00-00',status: 'BUILDING',queryable: true,mainIndex: {status: 'READY',queryable: true,definitionVersion: {version: 0,createdAt: ISODate("2023-10-09T14:08:32.000Z")},definition: { mappings: { dynamic: true, fields: {} } }}}]}
]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/681016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codeforces Round 923 (Div. 3) C. Choose the Different Ones(Java)

比赛链接&#xff1a;Round 923 (Div. 3) C题传送门&#xff1a;C. Choose the Different Ones! 题目&#xff1a; ** Example** ** input** 6 6 5 6 2 3 8 5 6 5 1 3 4 10 5 6 5 6 2 3 4 5 6 5 1 3 8 10 3 3 3 4 1 3 5 2 4 6 2 5 4 1 4 7 3 4 4 2 1 4 2 2 6 4 4 2 1 5 2 3 …

[Doris] Doris的安装和部署 (二)

文章目录 1.安装要求1.1 Linux操作系统要求1.2 软件需求1.3 注意事项1.4 内部端口 2.集群部署2.1 操作系统安装要求2.2 下载安装包2.3 解压2.4 配置FE2.5 配置BE2.6 添加BE2.7 FE 扩容和缩容2.8 Doris 集群群起脚本 3.图形化 1.安装要求 1.1 Linux操作系统要求 1.2 软件需求 1…

四、OpenAI之文本生成模型

文本生成模型 OpenAI的文本生成模型(也叫做生成预训练的转换器(Generative pre-trained transformers)或大语言模型)已经被训练成可以理解自然语言、代码和图片的模型。模型提供文本的输出作为输入的响应。对这些模型的输入内容也被称作“提示词”。设计提示词的本质是你如何对…

JS游戏项目合集【附源码】

文章目录 一&#xff1a;迷宫小游戏二&#xff1a;俄罗斯方块三&#xff1a;压扁小鸟 一&#xff1a;迷宫小游戏 【迷宫游戏】是一款基于HTML5技术开发的游戏&#xff0c;玩法简单。玩家需要在一个迷宫中找到出口并成功逃脱&#xff0c;本项目还有自动寻路&#xff08;Track&a…

Python包管理器

文章目录 写在前面的话 切换安装源 查看包 检索包 安装特定的包 升级包 卸载包 生成冻结包 三方包的命名规则 写在后面的话 References 写在前面的话 在本章节中&#xff0c;我们介绍一下python最常用的一个包管理工具pip 一般来说下载我们python 的运行环境的时候在安装的时候…

Kubernetes构建Docker镜像部署jar包

Kubernetes构建Docker镜像部署jar包 Kubernetes是一个开源的容器编排引擎,它可以自动化地部署、扩展和管理容器化的应用程序。Docker镜像是一种轻量级、可移植的容器化应用程序打包格式,它可以在任何地方运行,而不需要额外的配置。 首先,需要准备一个基本的Dockerfile,它…

监测Nginx访问日志502情况后并做相应动作

今天带大家写一个比较实用的脚本哈 原理&#xff1a; 假设服务器环境为lnmp&#xff0c;近期访问经常出现502现象&#xff0c;且502错误在重启php-fpm服务后消失&#xff0c;因此需要编写监控脚本&#xff0c;一旦出现502&#xff0c;则自动重启php-fpm服务 场景&#xff1a; 1…

操作系统-程序员的自我修养

一、温故而知新 所有的应用程序都以进程process的方式运行在比操作系统权限更低的级别&#xff0c;每个进程都投自己独立的地址空间&#xff0c;使得进程之间的地址空间相互隔离。 抢占式CPU分配方式&#xff1a;操作系统可以强制剥夺CPU资源并且分配给它认为目前最需要的进程…

Java奠基】玩转字符串从基础到高级的操作技巧

目录 初识String StringBuilder StringJoiner 字符串原理 综合练习 初识String java.lang.String 类代表字符串&#xff0c;Java程序中的所有字符串文字(例如“abc”)都为此类的对象&#xff0c;例&#xff1a; String name "张三" 当使用双引号直接赋值时&…

linux 磁盘相关操作

1.U盘接入虚拟机 &#xff08;1&#xff09;在插入u盘时&#xff0c;虚拟机会检测usb设备&#xff0c;在弹出窗口选择连接到虚拟机即可。 &#xff08;2&#xff09;或 直接在虚拟机--->可移动设备--->找到U盘---->连接 2.检测U盘是否被虚拟机识别 ls /dev/sd* 查…

四:C语言-选择结构

四&#xff1a;选择结构 C语言是结构化的程序设计语言&#xff0c;这里的结构指的是顺序结构、选择结构、循环结构。 我们可以使用if、switch实现分支结构&#xff1b;使用for、while、do while实现循环结构 一&#xff1a;if...else...语句 1.if语句&#xff1a; 语法格式…

Atcoder ABC338 F - Negative Traveling Salesman

Negative Traveling Salesman&#xff08;消极的旅行推销员&#xff09; 时间限制&#xff1a;6s 内存限制&#xff1a;1024MB 【原题地址】 所有图片源自Atcoder&#xff0c;题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】…

计算机网络——08应用层原理

应用层原理 创建一个新的网络 编程 在不同的端系统上运行通过网络基础设施提供的服务&#xff0c;应用进程批次通信如Web Web服务器软件与浏览器软件通信 网络核心中没有应用层软件 网络核心没有应用层功能网络应用只能在端系统上存在 快速网络应用开发和部署 网络应用…

lv15 平台总线框架及案例 2

一、总线、设备、驱动 硬编码式的驱动开发带来的问题&#xff1a; 垃圾代码太多 结构不清晰 一些统一设备功能难以支持 开发效率低下 1.1 初期解决思路&#xff1a;设备和驱动分离 struct device来表示一个具体设备&#xff0c;主要提供具体设备相关的资源&#xff08;如…

Python爬虫之文件存储#5

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx 文件存储形式多种多样&#xff0c;比如可以保存成 TXT 纯文本形式&#xff0c;也可以保存为 JSON 格式、CSV 格式等&#xff0c;本节就来了解一下文本文件的存储方式。 TXT 文本存储 将数据保存到 TXT 文本的操作非常简单&am…

Python基于大数据的电影预测分析系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

多尺度神经网络新一代创新!精度与速度完美平衡,实现多领域应用落地

多尺度神经网络的设计通常基于对频率原则的理解&#xff0c;目的是为了解决高频成分学习慢的问题。这些网络通过特殊设计&#xff0c;比如给高频成分加更多的权重或者将高频成分平移到低频&#xff0c;来提高学习效率。 为了满足在不同层次上理解和处理数据的需求&#xff0c;…

【Java程序设计】【C00254】基于Springboot的java学习平台(有论文)

基于Springboot的java学习平台&#xff08;有论文&#xff09;&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的学习平台 本系统分为系统功能模块、管理员功能模块、教师功能模块以及学生功能模块。 系统功能模块&#xff1a;在平台…

洛谷 P1102 A-B 数对 (Java)

洛谷 P1102 A-B 数对 (Java) 传送门&#xff1a;P1102 A-B 数对 题目&#xff1a; A-B 数对 题目背景 出题是一件痛苦的事情&#xff01; 相同的题目看多了也会有审美疲劳&#xff0c;于是我舍弃了大家所熟悉的 AB Problem&#xff0c;改用 A-B 了哈哈&#xff01; 题目描…

使用反汇编强力破解单机游戏外挂

逆向反汇编外挂&#xff1a;由于可执行程序都要先变成汇编代码再转换成cpu能识别的二进制机器码&#xff0c;在这个基础上可以根据该cpu对应的指令集反过来将二进制翻译成汇编代码。 反汇编找基地址过程&#xff1a;因为要修改的变量地址老是会发生变化&#xff0c;这样每次进游…