Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
e87504e2b4
3 changed files with 25 additions and 6 deletions
|
@ -365,7 +365,7 @@ func parseSearchAssetContentArgs(arg map[string]interface{}) (page, pageSize int
|
|||
method = int(methodArg.(float64))
|
||||
}
|
||||
|
||||
// orderBy:0:相关度(默认),1:按更新时间升序,2:按更新时间降序
|
||||
// orderBy:0:按相关度降序,1:按相关度升序,2:按更新时间升序,3:按更新时间降序
|
||||
orderByArg := arg["orderBy"]
|
||||
if nil != orderByArg {
|
||||
orderBy = int(orderByArg.(float64))
|
||||
|
|
|
@ -77,7 +77,7 @@ func GetAssetContent(id, query string, queryMethod int) (ret *AssetContent) {
|
|||
// FullTextSearchAssetContent 搜索资源文件内容。
|
||||
//
|
||||
// method:0:关键字,1:查询语法,2:SQL,3:正则表达式
|
||||
// orderBy: 0:相关度(默认),1:按更新时间升序,2:按更新时间降序
|
||||
// orderBy: 0:按相关度降序,1:按相关度升序,2:按更新时间升序,3:按更新时间降序
|
||||
func FullTextSearchAssetContent(query string, types map[string]bool, method, orderBy, page, pageSize int) (ret []*AssetContent, matchedAssetCount, pageCount int) {
|
||||
query = strings.TrimSpace(query)
|
||||
beforeLen := 36
|
||||
|
@ -238,11 +238,20 @@ func buildAssetContentTypeFilter(types map[string]bool) string {
|
|||
|
||||
var buf bytes.Buffer
|
||||
buf.WriteString("(")
|
||||
for k, _ := range types {
|
||||
for k, enabled := range types {
|
||||
if !enabled {
|
||||
continue
|
||||
}
|
||||
|
||||
buf.WriteString("'")
|
||||
buf.WriteString(k)
|
||||
buf.WriteString("',")
|
||||
}
|
||||
if 1 == buf.Len() {
|
||||
buf.WriteString(")")
|
||||
return buf.String()
|
||||
}
|
||||
|
||||
buf.Truncate(buf.Len() - 1)
|
||||
buf.WriteString(")")
|
||||
return buf.String()
|
||||
|
@ -253,8 +262,10 @@ func buildAssetContentOrderBy(orderBy int) string {
|
|||
case 0:
|
||||
return "ORDER BY rank DESC"
|
||||
case 1:
|
||||
return "ORDER BY updated ASC"
|
||||
return "ORDER BY rank ASC"
|
||||
case 2:
|
||||
return "ORDER BY updated ASC"
|
||||
case 3:
|
||||
return "ORDER BY updated DESC"
|
||||
default:
|
||||
return "ORDER BY rank DESC"
|
||||
|
@ -444,9 +455,12 @@ func copyTempAsset(absPath string) (ret string) {
|
|||
return
|
||||
}
|
||||
|
||||
filelock.RWLock.Lock()
|
||||
defer filelock.RWLock.Unlock()
|
||||
|
||||
ret = filepath.Join(dir, gulu.Rand.String(7)+".docx")
|
||||
if err := filelock.Copy(absPath, ret); nil != err {
|
||||
logging.LogErrorf("copy [%s] to [%s] failed: [%s]", absPath, ret, err)
|
||||
if err := gulu.File.Copy(absPath, ret); nil != err {
|
||||
logging.LogErrorf("copy [src=%s, dest=%s] failed: %s", absPath, ret, err)
|
||||
return
|
||||
}
|
||||
return
|
||||
|
|
|
@ -73,6 +73,11 @@ func watchAssets() {
|
|||
|
||||
lastEvent = event
|
||||
timer.Reset(time.Millisecond * 100)
|
||||
|
||||
if lastEvent.Op&fsnotify.Rename == fsnotify.Rename {
|
||||
// 索引资源文件内容
|
||||
IndexAssetContent(lastEvent.Name)
|
||||
}
|
||||
case err, ok := <-assetsWatcher.Errors:
|
||||
if !ok {
|
||||
return
|
||||
|
|
Loading…
Add table
Reference in a new issue