Выполнение соединения или многоиндексного поиска по устаревшему коду в Elasticsearch - PullRequest
0 голосов
/ 09 апреля 2020

Теперь я знаю, что была задана некоторая форма этого вопроса, но я нигде не могу найти правильный ответ на мою проблему. Я постараюсь подвести итог проблемы. Кроме того, я знаю, что невозможно выполнить соединения в Elasticsearch. Я работаю над этим устаревшим корпоративным кодом, и у меня нет полной свободы, поэтому, пожалуйста, потерпите меня.

Структура индекса определена примерно так:

 elasticClient.CreateIndex("child", i => i
                .Settings(s => s
                          .NumberOfShards(2)
                          .NumberOfReplicas(0)
                          )
                          .Mappings(m => m
                                    .Map<AccountType>(map => map
                                               .AutoMap()
                                               .Properties(p => p
                                                    .Text(c => c
                                                           .Name(n => n.ChildField)
                                                           .Analyzer("standard")
                                                    )
                                                )
                                    )
                            )
                          );

 elasticClient.CreateIndex("parrent", i => i
                .Settings(s => s
                          .NumberOfShards(2)
                          .NumberOfReplicas(0)
                          )
                          .Mappings(m => m
                                    .Map<AccountType>(map => map
                                               .AutoMap()
                                               .Properties(p => p
                                                    .Text(c => c
                                                           .Name(n => n.ParrentField)
                                                           .Analyzer("standard")
                                                    )
                                                    .Number(c => c
                                                           .Name(n => n.ChildId)
                                                    )
                                                )
                                    )
                            )
                          );    

Конечно, эти Это упрощенные структуры того, что у меня есть в БД.

Что мне нужно сделать, это выполнить поиск по childField и parentField с использованием NEST при выполнении поиска по дочернему индексу. Это вообще возможно, или я что-то упустил?

Если бы я работал с нуля, я бы создал вложенный объект внутри родительского индекса и запустил поиск по этому индексу, однако система уже построена, и я пытаясь сделать это без серьезных изменений.

Заранее спасибо.

Приветствия

...