Skip to content

Commit 1e393ac

Browse files
committed
fix(root-search): account for fuzzy matchins score
1 parent 7c1ff79 commit 1e393ac

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

vicinae/src/services/root-item-manager/root-item-manager.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,9 @@ std::span<RootItemManager::ScoredItem> RootItemManager::search(const QString &qu
181181
if (!item.meta->isEnabled && !opts.includeDisabled) continue;
182182
int fuzzyScore = item.fuzzyScore(patternView);
183183
if (!pattern.empty() && !fuzzyScore) continue;
184-
int finalScore = computeScore(*item.meta, item.item->baseScoreWeight());
184+
double frequency = std::log1p(item.meta->visitCount) * 0.5;
185+
// TODO: re-introduce frecency component
186+
int finalScore = fuzzyScore * (1.0 + frequency);
185187
m_scoredItems.emplace_back(ScoredItem{.alias = item.meta->alias, .score = finalScore, .item = item.item});
186188
}
187189

@@ -740,6 +742,7 @@ double RootItemManager::computeRecencyScore(const RootItemMetadata &meta) const
740742
double RootItemManager::computeScore(const RootItemMetadata &meta, int weight) const {
741743
double frequencyScore = std::log(meta.visitCount + 1);
742744
double recencyScore = computeRecencyScore(meta);
745+
743746
return (frequencyScore + recencyScore) * weight;
744747
}
745748

0 commit comments

Comments
 (0)