Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Mongo db atlas search:在嵌入式文档上创建atlas搜索索引_Mongodb_Mongodb Atlas_Mongodb Atlas Search - Fatal编程技术网

Mongodb Mongo db atlas search:在嵌入式文档上创建atlas搜索索引

Mongodb Mongo db atlas search:在嵌入式文档上创建atlas搜索索引,mongodb,mongodb-atlas,mongodb-atlas-search,Mongodb,Mongodb Atlas,Mongodb Atlas Search,对于存储类别,我有下面的模式- { name: String, description : String, subCategories:[ { name:String, description : String } ] } 对于搜索,需要在类别名称和子类别名称上应用atlas搜索索引。我尝试了下面的映射,但对于子类别的名称和描述无效 { "mappings": {

对于存储类别,我有下面的模式-

{
    name: String,
    description : String,
    subCategories:[
      { 
          name:String,
          description : String
      }
    ]
}
对于搜索,需要在类别名称和子类别名称上应用atlas搜索索引。我尝试了下面的映射,但对于子类别的名称和描述无效

{
  "mappings": {
    "dynamic": false,
    "fields": {
      "name": {
          "analyzer": "lucene.standard",
          "type": "string"
        },
      "description": {
          "analyzer": "lucene.standard",
          "type": "string"
        },
      "subCategory.name": {
          "analyzer": "lucene.standard",
          "type": "string"
      },
      "subCategory.description": {
          "analyzer": "lucene.standard",
          "type": "string"
      }
    }
  }
}

字段映射中是否缺少一些内容?

我在atlas搜索文档中找到了我这个问题的答案:

因此,我引用此文档所做的是,稍微修改我的映射以支持我所期望的。我之前做得不对

{
  "mappings": {
    "dynamic": false,
    "fields": {
      "name": {
          "analyzer": "lucene.standard",
          "type": "string"
        },
      "description": {
          "analyzer": "lucene.standard",
          "type": "string"
        },
      "subCategory": {
        "fields": {
          "name": {
            "analyzer": "lucene.standard",
            "type": "string"
          },
          "description": {
            "analyzer": "lucene.standard",
            "type": "string"
          }
        }
      }
    }
  }
}

下面是在文档或对象上执行Atlas搜索的工作代码

mainSubscriber->对象(数据类型)

主订阅服务器的类型必须是“文档”。然后,您可以指定内部字段,如下所示

有关更多详细信息,请参阅文档中的静态映射示例

{
  "mappings": {
    "dynamic": false,
    "fields": {
      "identifier": {
        "analyzer": "lucene.standard",
        "type": "string"
      },
      "mainSubscriber": {
        "fields": {
          "identifier": {
            "analyzer": "lucene.standard",
            "type": "string"
          }
        },
        "type": "document"
      },
      "profileId": {
        "analyzer": "lucene.standard",
        "type": "string"
      }
    }
  }
}