Skip to content

Commit

Permalink
tweak scoreing, fix consecutive matches
Browse files Browse the repository at this point in the history
  • Loading branch information
curusarn committed May 14, 2020
1 parent a58be7b commit 7909ad9
Showing 1 changed file with 9 additions and 13 deletions.
22 changes: 9 additions & 13 deletions cmd/cli/item.go
Original file line number Diff line number Diff line change
Expand Up @@ -266,10 +266,12 @@ func properMatch(str, term, padChar string) bool {
// returns error if the query doesn't match the record
func newItemFromRecordForQuery(record records.CliRecord, query query, debug bool) (item, error) {
// Use numbers that won't add up to same score for any number of query words
const hitScore = 1.307
const properMatchScore = 0.503
// query score weigth 1.3
const hitScore = 1.307 // 1 * 1.3
const properMatchScore = 0.433 // 1/3 * 1.3
const hitScoreConsecutive = 0.002

// context score weigth 1
// Host penalty
var actualPwdScore = 0.9
var sameGitRepoScore = 0.8
Expand All @@ -284,23 +286,17 @@ func newItemFromRecordForQuery(record records.CliRecord, query query, debug bool
differentHostScorePenalty = 0.1
}

const timeScoreCoef = 1e-13
const timeScoreWeigth = 1e-13
// nonZeroExitCodeScorePenalty + differentHostScorePenalty

score := 0.0
anyHit := false
cmd := record.CmdLine
for _, term := range query.terms {
termHit := false
if strings.Contains(record.CmdLine, term) {
c := strings.Count(record.CmdLine, term)
if c > 0 {
anyHit = true
if termHit == false {
score += hitScore
} else if len(term) > 1 {
// only count consecutive matches for queries longer than 1
score += hitScoreConsecutive
}
termHit = true
score += hitScore + hitScoreConsecutive*float64(c)
if properMatch(cmd, term, " ") {
score += properMatchScore
}
Expand Down Expand Up @@ -364,7 +360,7 @@ func newItemFromRecordForQuery(record records.CliRecord, query query, debug bool
if score <= 0 && !anyHit {
return item{}, errors.New("no match for given record and query")
}
score += record.RealtimeBefore * timeScoreCoef
score += record.RealtimeBefore * timeScoreWeigth

it := item{
realtimeBefore: record.RealtimeBefore,
Expand Down

0 comments on commit 7909ad9

Please sign in to comment.