tweak search scoring for better results, i think

This commit is contained in:
Andrej Karpathy
2021-11-27 18:09:17 -08:00
parent aff7c89695
commit 8947dd3fc5
+4 -3
View File
@@ -160,12 +160,13 @@ def search_rank(q: str = ''):
qs = q.lower().strip().split() # split query by spaces and lowercase
pdb = get_papers()
match = lambda s: sum(s.lower().count(qp) for qp in qs)
match = lambda s: sum(min(3, s.lower().count(qp)) for qp in qs)
matchu = lambda s: sum(int(s.lower().count(qp) > 0) for qp in qs)
pairs = []
for pid, p in pdb.items():
score = 0.0
score += 5.0 * match(' '.join([a['name'] for a in p['authors']]))
score += 10.0 * match(p['title'])
score += 10.0 * matchu(' '.join([a['name'] for a in p['authors']]))
score += 20.0 * matchu(p['title'])
score += 1.0 * match(p['summary'])
if score > 0:
pairs.append((score, pid))