diff options
Diffstat (limited to 'internal')
-rw-r--r-- | internal/index/search.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/internal/index/search.go b/internal/index/search.go index 79421a3..3f24799 100644 --- a/internal/index/search.go +++ b/internal/index/search.go @@ -66,6 +66,12 @@ func setField[T query.FieldableQuery]( return q } +func setBoost[T query.BoostableQuery](q T, boost float64) T { + q.SetBoost(boost) + + return q +} + func (index *ReadIndex) search( ctx context.Context, request *bleve.SearchRequest, @@ -125,9 +131,10 @@ func (index *ReadIndex) Search( setField(bleve.NewTermQuery(source.Key), "Source"), ) } else { - q := bleve.NewTermQuery("nixpkgs") - q.SetField("Source") - q.SetBoost(-150) + q := bleve.NewDisjunctionQuery( + setBoost(setField(bleve.NewTermQuery("nixpkgs"), "Source"), -150), + setBoost(setField(bleve.NewTermQuery("nur"), "Source"), -200), + ) query.AddShould(q) } |