* [MM-20979] Add first implementation of the Bleve search engine * Fix i18n * Migrate searchengine utils tests * Fix linter * Don't add allTermsQ if both termQueries and notTermQueries are empty * Fix test that should work if user is system admin * Modify naming according to review comments * Abstract getIndexDir function * Extracting bleve engine name as a constant * Merge both Indexer interfaces into one * Add worker stopped message * Allow worker to be started/stopped with config change * Use constants for index names * Modify test order * Fix linter * Trying to unlock the CI
35 строки
647 B
Go
35 строки
647 B
Go
package snowballstem
|
|
|
|
import (
|
|
"math"
|
|
"unicode/utf8"
|
|
)
|
|
|
|
const MaxInt = math.MaxInt32
|
|
const MinInt = math.MinInt32
|
|
|
|
func splitAt(str string, mid int) (string, string) {
|
|
return str[:mid], str[mid:]
|
|
}
|
|
|
|
func min(a, b int) int {
|
|
if a < b {
|
|
return a
|
|
}
|
|
return b
|
|
}
|
|
|
|
func onCharBoundary(s string, pos int) bool {
|
|
if pos <= 0 || pos >= len(s) {
|
|
return true
|
|
}
|
|
return utf8.RuneStart(s[pos])
|
|
}
|
|
|
|
// RuneCountInString is a wrapper around utf8.RuneCountInString
|
|
// this allows us to not have to conditionally include
|
|
// the utf8 package into some stemmers and not others
|
|
func RuneCountInString(str string) int {
|
|
return utf8.RuneCountInString(str)
|
|
}
|