Термины Сортировка агрегирования по определенному полю в поиске elasti c 6.5.4 (NEST Client Version 6.X) - PullRequest
0 голосов
/ 27 мая 2020

У меня следующий вопрос. Он работает нормально, когда не применяется порядок сортировки. Я хочу отсортировать их по полю.

var response = await clientProvider.Client.SearchAsync<ProjectModel>(s => s
                                .Index("index_name")
                                .Type("index")
                                .Source(so => so.Excludes(f => f.Field(x => x.FileBase64Data)))
                                .Aggregations(a => a
                                .Terms("by_sort", st => st
                                    .Field(projectName)
                                    .Exclude("x.FileBase64Data")
                                    .Aggregations(ag => ag.TopHits("tops", agt => agt.Size(100).Sort(ss => ss.Ascending(projectName))

                                    .Source(so => so.Excludes(f => f.Field(x => x.FileBase64Data)))))

                                ))

                                .Size(0)

                                .Query(q => q
                                    .Bool(b => b
                                        .Should(

                                            m => m.QueryString(qs => qs
                                                .Query(searchOptions.SearchTerm)
                                                .Fields(ff => ff.Fields(fields))
                                                .Fuzziness(Fuzziness.Auto)

                                                ),
                                            m => m.MultiMatch(qs => qs
                                                .Query(searchOptions.SearchTerm)
                                                .Type(Nest.TextQueryType.PhrasePrefix)
                                                .Fields(ff => ff.Fields(fields))
                                                )
                                            )
                                        )
                                     )
                                .Sort(ss => ss.Descending(SortSpecialField.Score))
                                );

Теперь, когда я пытаюсь отсортировать их, используя Order as st.Order(o => o.Ascending("tops")). Выскакивает неверный ответ. Кто-нибудь может мне с этим помочь? Заранее спасибо.

...