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"
}
}
}
}