about summary refs log tree commit diff stats
path: root/internal
diff options
context:
space:
mode:
authorAlan Pearce2025-03-20 20:00:59 +0100
committerAlan Pearce2025-03-20 20:00:59 +0100
commit782b636c6ba9ebccecf46c7a1e5583e8108baf9a (patch)
tree07dbf2b8531c7700815b6e6198f83e93129855a4 /internal
parent49a07fb0b513dcaeb6241f4d87c160b9e0119260 (diff)
downloadsearchix-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.go13
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)
 	}