mirror of
https://github.com/go-gitea/gitea.git
synced 2026-08-04 15:07:11 +02:00
fix: adding no_assignee index in bleve
This commit is contained in:
@@ -259,18 +259,18 @@ func (b *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
|
||||
queries = append(queries, inner_bleve.NumericEqualityQuery(posterIDInt64, "poster_id"))
|
||||
}
|
||||
|
||||
if options.AssigneeID != "" {
|
||||
if options.AssigneeID == "(any)" {
|
||||
queries = append(queries, inner_bleve.BoolFieldQuery(false, "no_assignee"))
|
||||
} else if options.AssigneeID == "(none)" {
|
||||
queries = append(queries, inner_bleve.BoolFieldQuery(true, "no_assignee"))
|
||||
} else {
|
||||
assigneeIDInt64, _ := strconv.ParseInt(options.AssigneeID, 10, 64)
|
||||
queries = append(queries, bleve.NewDisjunctionQuery(
|
||||
inner_bleve.NumericEqualityQuery(assigneeIDInt64, "assignee_ids"),
|
||||
inner_bleve.NumericEqualityQuery(assigneeIDInt64, "assignee_id"),
|
||||
))
|
||||
}
|
||||
switch options.AssigneeID {
|
||||
case "":
|
||||
case "(any)":
|
||||
queries = append(queries, inner_bleve.BoolFieldQuery(false, "no_assignee"))
|
||||
case "(none)":
|
||||
queries = append(queries, inner_bleve.BoolFieldQuery(true, "no_assignee"))
|
||||
default:
|
||||
assigneeIDInt64, _ := strconv.ParseInt(options.AssigneeID, 10, 64)
|
||||
queries = append(queries, bleve.NewDisjunctionQuery(
|
||||
inner_bleve.NumericEqualityQuery(assigneeIDInt64, "assignee_ids"),
|
||||
inner_bleve.NumericEqualityQuery(assigneeIDInt64, "assignee_id"),
|
||||
))
|
||||
}
|
||||
|
||||
if options.MentionID.Has() {
|
||||
|
||||
@@ -36,7 +36,7 @@ type IndexerData struct {
|
||||
PosterID int64 `json:"poster_id"`
|
||||
AssigneeID int64 `json:"assignee_id"`
|
||||
AssigneeIDs []int64 `json:"assignee_ids"`
|
||||
NoAssignee bool `json:"no_assignee"` // True if AssigneeID and AssigneeIDs are empty
|
||||
NoAssignee bool `json:"no_assignee"` // True if the issue has no assignees
|
||||
MentionIDs []int64 `json:"mention_ids"`
|
||||
ReviewedIDs []int64 `json:"reviewed_ids"`
|
||||
ReviewRequestedIDs []int64 `json:"review_requested_ids"`
|
||||
|
||||
@@ -119,7 +119,7 @@ func getIssueIndexerData(ctx context.Context, issueID int64) (*internal.IndexerD
|
||||
PosterID: issue.PosterID,
|
||||
AssigneeID: issue.AssigneeID,
|
||||
AssigneeIDs: assigneeIDs,
|
||||
NoAssignee: issue.AssigneeID == 0 && len(assigneeIDs) == 0,
|
||||
NoAssignee: len(assigneeIDs) == 0,
|
||||
MentionIDs: mentionIDs,
|
||||
ReviewedIDs: reviewedIDs,
|
||||
ReviewRequestedIDs: reviewRequestedIDs,
|
||||
|
||||
Reference in New Issue
Block a user