Я довольно новичок в ElasticSearch, недавно я проиндексировал одну из моих коллекций MongoDB на ElasticSearch, используя compose транспортер.Причина, по которой я проиндексировал, заключается в том, что я хотел выполнить полнотекстовый поиск по некоторым полям.
Итак, теперь у меня есть вложенный документ, как показано ниже,
{
"item":"journal",
"item_size":200,
"instock":[
{
"warehouse":"A",
"qty":5
},
{
"warehouse":"A",
"qty":15
}
]
}
Если я хочу сделатьагрегат MongoDB в документе, чтобы соответствовать, где находится склад A, и $ раскрутить их,
[{"$ unwind": "$ instock"}, {"$ match": {"instock.warehouse":" A "}}]
Я получу следующий результат:
{
"item":"journal",
"item_size":200,
"instock":
{
"warehouse":"A",
"qty":5
}
}
{
"item":"journal",
"item_size":200,
"instock":
{
"warehouse":"A",
"qty":15
}
}
Это простой пример, но у меня есть более сложные вложенные документы, подобные этому, вMongoDB.Как я могу достичь того же результата в ElasticSearch?Я потратил много времени на выяснение этого, но не повезло.