adjust scoring weights

pull/137/head
Simon Let 6 years ago
parent 1910eb93d5
commit cfaec01c5e
  1. 30
      cmd/cli/item.go

@ -265,14 +265,24 @@ func properMatch(str, term, padChar string) bool {
// newItemFromRecordForQuery creates new item from record based on given query
// returns error if the query doesn't match the record
func newItemFromRecordForQuery(record records.CliRecord, query query, debug bool) (item, error) {
const hitScore = 1.2
const hitScoreConsecutive = 0.1
const properMatchScore = 0.3
const actualPwdScore = 0.9
const nonZeroExitCodeScorePenalty = 0.4
const sameGitRepoScore = 0.6
// const sameGitRepoScoreExtra = 0.0
const differentHostScorePenalty = 0.2
// Use numbers that won't add up to same score for any number of query words
const hitScore = 1.307
const properMatchScore = 0.603
const hitScoreConsecutive = 0.002
// Host penalty
var actualPwdScore = 0.9
var sameGitRepoScore = 0.8
var nonZeroExitCodeScorePenalty = 0.4
var differentHostScorePenalty = 0.2
reduceHostPenalty := false
if reduceHostPenalty {
actualPwdScore = 0.9
sameGitRepoScore = 0.7
nonZeroExitCodeScorePenalty = 0.4
differentHostScorePenalty = 0.1
}
const timeScoreCoef = 1e-13
// nonZeroExitCodeScorePenalty + differentHostScorePenalty
@ -286,7 +296,8 @@ func newItemFromRecordForQuery(record records.CliRecord, query query, debug bool
anyHit = true
if termHit == false {
score += hitScore
} else {
} else if len(term) > 1 {
// only count consecutive matches for queries longer than 1
score += hitScoreConsecutive
}
termHit = true
@ -294,7 +305,6 @@ func newItemFromRecordForQuery(record records.CliRecord, query query, debug bool
score += properMatchScore
}
cmd = strings.ReplaceAll(cmd, term, highlightMatch(term))
// NO continue
}
}
// DISPLAY > cmdline

Loading…
Cancel
Save