mirror of
https://github.com/gotoeasy/glogcenter.git
synced 2025-09-15 12:58:34 +08:00
v0.15.0
This commit is contained in:
parent
c05556d41c
commit
86567c8070
@ -53,6 +53,7 @@ var enableUploadMinio bool
|
||||
var goMaxProcess int
|
||||
var enableCors bool
|
||||
var pageSize int
|
||||
var nearSearchSize int
|
||||
var mulitLineSearch bool
|
||||
var testMode bool
|
||||
var tokenSalt string
|
||||
@ -100,10 +101,16 @@ func UpdateConfigByEnv() {
|
||||
goMaxProcess = getGoMaxProcessConf(cmn.GetEnvInt("GLC_GOMAXPROCS", -1)) // 使用的最大CPU数量,默认是最大CPU数量(设定值不在实际数量范围是按最大看待)
|
||||
enableCors = cmn.GetEnvBool("GLC_ENABLE_CORS", false) // 是否允许跨域,默认false
|
||||
pageSize = getPageSizeConf(cmn.GetEnvInt("GLC_PAGE_SIZE", 100)) // 每次检索件数,默认100(有效范围1~1000)
|
||||
nearSearchSize = getNearSearchSizeConf(cmn.GetEnvInt("GLC_NEAR_SEARCH_SIZE", 200)) // 定位相邻检索的查询件数,默认200(有效范围50~1000)
|
||||
mulitLineSearch = cmn.GetEnvBool("GLC_SEARCH_MULIT_LINE", false) // 是否检索日志的全部行(日志可能有换行),默认false仅第一行
|
||||
testMode = cmn.GetEnvBool("GLC_TEST_MODE", false) // 是否测试模式,默认false
|
||||
}
|
||||
|
||||
// 取配置: 定位相邻检索的查询件数,可通过环境变量“GLC_NEAR_SEARCH_SIZE”设定,默认200件
|
||||
func GetNearSearchSize() int {
|
||||
return nearSearchSize
|
||||
}
|
||||
|
||||
// 取配置: IP是否要自动附加城市信息,默认false
|
||||
func IsIpAddCity() bool {
|
||||
return ipAddCity
|
||||
@ -143,6 +150,15 @@ func IsMulitLineSearch() bool {
|
||||
func GetPageSize() int {
|
||||
return pageSize
|
||||
}
|
||||
func getNearSearchSizeConf(n int) int {
|
||||
if n < 50 {
|
||||
n = 50
|
||||
}
|
||||
if n > 1000 {
|
||||
n = 1000
|
||||
}
|
||||
return n
|
||||
}
|
||||
func getPageSizeConf(n int) int {
|
||||
if n < 1 {
|
||||
n = 1
|
||||
|
||||
@ -155,19 +155,18 @@ func (e *Engine) Search(cond *search.SearchCondition) *search.SearchResult {
|
||||
// 多关键词查询模式
|
||||
if cond.NewNearId > 0 {
|
||||
// 相邻检索模式的判断及条件准备
|
||||
max := conf.GetPageSize()
|
||||
leftSize := 20
|
||||
max := conf.GetNearSearchSize()
|
||||
cond.CurrentId = cond.NewNearId
|
||||
isForward := cond.OldNearId < 1 || cond.NewNearId < cond.OldNearId // 是否向下检索更多的旧日志
|
||||
|
||||
// 搜索更多的新数据
|
||||
// 反向检索前x条
|
||||
cond.Forward = false
|
||||
if isForward {
|
||||
cond.SearchSize = leftSize
|
||||
} else {
|
||||
cond.SearchSize = max - leftSize
|
||||
leftSize := 20
|
||||
if !isForward {
|
||||
leftSize = max - leftSize
|
||||
}
|
||||
cond.Forward = false
|
||||
cond.SearchSize = leftSize
|
||||
rs = search.SearchWordIndex(e.storeName, cond)
|
||||
// 定位日志1条固定(不管是否满足检索条件)
|
||||
ldm := search.GetLogDataModelById(cond.NearStoreName, cond.NewNearId)
|
||||
|
||||
@ -364,7 +364,7 @@ func findSame(cond *SearchCondition, minDocumentId uint32, maxDocumentId uint32,
|
||||
|
||||
// 简单检查排除没结果的情景
|
||||
totalCount := minIdx.idxwordStorage.GetTotalCount(minIdx.word)
|
||||
if totalCount == 0 || (totalCount == 1 && cond.CurrentId > 0) {
|
||||
if totalCount == 0 || (cond.NewNearId == 0 && totalCount == 1 && cond.CurrentId > 0) {
|
||||
return rs // 索引件数0、或只有1条又还要跳过,都是找不到
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user