MongoDB агрегация $ раскручивает эквивалент ElasticSearch - PullRequest
0 голосов
/ 19 февраля 2019

Я довольно новичок в 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?Я потратил много времени на выяснение этого, но не повезло.

...