diff options
author | Alan Pearce | 2025-03-20 20:00:59 +0100 |
---|---|---|
committer | Alan Pearce | 2025-03-20 20:00:59 +0100 |
commit | 782b636c6ba9ebccecf46c7a1e5583e8108baf9a (patch) | |
tree | 07dbf2b8531c7700815b6e6198f83e93129855a4 /internal | |
parent | 49a07fb0b513dcaeb6241f4d87c160b9e0119260 (diff) | |
download | searchix-782b636c6ba9ebccecf46c7a1e5583e8108baf9a.tar.lz searchix-782b636c6ba9ebccecf46c7a1e5583e8108baf9a.tar.zst searchix-782b636c6ba9ebccecf46c7a1e5583e8108baf9a.zip |
feat: demote NUR results in combined search
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) } |