[MM-26397] Take query size and order into account for Bleve (#14882)
* [MM-26397] Take query size and order into account for Bleve * Add a test to check post search pagination * Add tests for checking limit when searching users * Make pagination an independent test to discriminate DB engines
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
10af90fa27
Коммит
df943fbf91
@@ -196,7 +196,8 @@ func (b *BleveEngine) SearchPosts(channels *model.ChannelList, searchParams []*m
|
||||
query.AddMustNot(notFilters...)
|
||||
}
|
||||
|
||||
search := bleve.NewSearchRequest(query)
|
||||
search := bleve.NewSearchRequestOptions(query, perPage, page*perPage, false)
|
||||
search.SortBy([]string{"-CreateAt"})
|
||||
results, err := b.PostIndex.Search(search)
|
||||
if err != nil {
|
||||
return nil, nil, model.NewAppError("Bleveengine.SearchPosts", "bleveengine.search_posts.error", nil, err.Error(), http.StatusInternalServerError)
|
||||
@@ -311,6 +312,7 @@ func (b *BleveEngine) SearchChannels(teamId, term string) ([]string, *model.AppE
|
||||
}
|
||||
|
||||
query := bleve.NewSearchRequest(bleve.NewConjunctionQuery(queries...))
|
||||
query.Size = model.CHANNEL_SEARCH_DEFAULT_LIMIT
|
||||
results, err := b.ChannelIndex.Search(query)
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("Bleveengine.SearchChannels", "bleveengine.search_channels.error", nil, err.Error(), http.StatusInternalServerError)
|
||||
@@ -368,7 +370,9 @@ func (b *BleveEngine) SearchUsersInChannel(teamId, channelId string, restrictedT
|
||||
|
||||
query := bleve.NewConjunctionQuery(queries...)
|
||||
|
||||
uchan, err := b.UserIndex.Search(bleve.NewSearchRequest(query))
|
||||
uchanSearch := bleve.NewSearchRequest(query)
|
||||
uchanSearch.Size = options.Limit
|
||||
uchan, err := b.UserIndex.Search(uchanSearch)
|
||||
if err != nil {
|
||||
return nil, nil, model.NewAppError("Bleveengine.SearchUsersInChannel", "bleveengine.search_users_in_channel.uchan.error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
@@ -403,7 +407,9 @@ func (b *BleveEngine) SearchUsersInChannel(teamId, channelId string, restrictedT
|
||||
boolQ.AddMust(restrictedChannelsQ)
|
||||
}
|
||||
|
||||
nuchan, err := b.UserIndex.Search(bleve.NewSearchRequest(boolQ))
|
||||
nuchanSearch := bleve.NewSearchRequest(boolQ)
|
||||
nuchanSearch.Size = options.Limit
|
||||
nuchan, err := b.UserIndex.Search(nuchanSearch)
|
||||
if err != nil {
|
||||
return nil, nil, model.NewAppError("Bleveengine.SearchUsersInChannel", "bleveengine.search_users_in_channel.nuchan.error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
@@ -465,7 +471,7 @@ func (b *BleveEngine) SearchUsersInTeam(teamId string, restrictedToChannels []st
|
||||
}
|
||||
|
||||
search := bleve.NewSearchRequest(rootQ)
|
||||
|
||||
search.Size = options.Limit
|
||||
results, err := b.UserIndex.Search(search)
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("Bleveengine.SearchUsersInTeam", "bleveengine.search_users_in_team.error", nil, err.Error(), http.StatusInternalServerError)
|
||||
|
||||
Ссылка в новой задаче
Block a user