У меня есть коллекция документов, представляющих сообщения. Каждое сообщение имеет несколько полей, которые меняются от сообщения к сообщению. Они хранятся в массиве подделок «поля».Mongodb: поле индексирования субдокумента, которое может быть либо текстовым, либо массивом
Каждый элемент в этом массиве содержит метку и значение поля. Некоторые поля могут содержать длинные списки строк (IP-адреса, URL-адреса и т. Д.) - каждая строка отображается в новой строке в этом поле. Списки могут составлять тысячи строк. С этой целью каждый элемент также сохраняет «тип» - тип 1 представляет собой стандартный текст, а тип 2 - список. Когда есть поле типа 2, «значение» в поддоку является массивом списка.
Это выглядит примерно так:
"fields" : [
{
"type" : 1,
"label" : "Observed on",
"value" : "01/09/2016"
},
{
"type" : 1,
"label" : "Indicator of",
"value" : "Malware"
},
{
"type" : 2,
"label" : "Relevant IP addresses",
"value" : [
"10.0.0.0",
"190.15.55.21",
"11.132.33.55",
"109.0.15.3"
]
}
]
Я хочу, чтобы все значения полей, чтобы быть для поиска и индексирования, являются ли эти значения в стандартной строке или в массиве в пределах «значение».
Будет ли стандартный индекс индексов "fields.value" содержать как тип 1, так и тип 2? мне нужно настроить два индекса?
Заранее благодарен!
Спасибо! Я просмотрел документацию, но, должно быть, пропустил ее. – Idan