MongoDB全文搜索索引:错误:文本索引太多,为什么?

 bale999_816 发布于 2023-02-08 16:07

我有一个问题,我有收集,我想将文本搜索索引设置为2个字段(描述和标题).但是,当我添加第二个索引时,我得到以下错误,文本搜索停止工作.

{ "serverUsed" : "localhost/127.0.0.1:27017" , "ok" : 0.0 , "errmsg" : "too many text index for: testdb.users"}

当我删除一个索引搜索再次开始工作.问题是什么?一个集合仅支持一个字段的全文搜索索引????

我在windows下使用当前版本的mongodb,我正在使用mongodb java驱动程序API.

谢谢

1 个回答
  • MongoDB每个集合只允许一个文本索引.

    但是您可以使用跨越多个字段的文本索引:

    db.collection.ensureIndex( {
        description: "text",
        title: "text"
    } );
    

    这样,当您在搜索的短语中找到时,您将获得结果.如果这不是您想要的,就像您有两个搜索查询,每个搜索查询都返回其中一个字段而不是另一个字段的结果时,您有两个选项.

      使用多字段文本索引,但丢弃来自应用程序层上错误字段的结果.

      将两个字段中的一个提取到不同的集合中.该集合中的文档可以包含完整副本,编辑副本,也可以只包含您索引的字段和_id原始文档.

    2023-02-08 16:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有