diff --git a/plugins/sphinx/index.py b/plugins/sphinx/index.py index 4df7235f8..9a18832d5 100755 --- a/plugins/sphinx/index.py +++ b/plugins/sphinx/index.py @@ -114,8 +114,12 @@ def mkdirAll(): rep = 'path\s*=\s*(.*)' p = re.compile(rep) tmp = p.findall(content) + for x in tmp: - public.execShell('mkdir -p ' + x) + if x.find('binlog') != -1: + public.execShell('mkdir -p ' + x) + else: + public.execShell('mkdir -p ' + os.path.dirname(x)) def initDreplace(): @@ -146,8 +150,31 @@ def initDreplace(): return file_bin +def checkIndexSph(): + content = public.readFile(getConf()) + rep = 'path\s*=\s*(.*)' + p = re.compile(rep) + tmp = p.findall(content) + for x in tmp: + if x.find('binlog') != -1: + continue + else: + p = x+'.sph' + if os.path.exists(p): + return False + return True + def start(): file = initDreplace() + + data = sphinxConfParse() + if 'index' in data : + if checkIndexSph(): + rebuild() + time.sleep(5) + else: + return '配置不正确!' + data = public.execShell(file + ' start') if data[1] == '': return 'ok' @@ -264,15 +291,15 @@ def runStatus(): return public.returnJson(True, 'ok', rData) -def sphinxCmd(): +def sphinxConfParse(): file = getConf() bin_dir = getServerDir() content = public.readFile(file) rep = 'index\s(.*)' sindex = re.findall(rep, content) indexlen = len(sindex) + cmd = {} if indexlen > 0: - cmd = {} cmd_index = [] cmd_delta = [] for x in range(indexlen): @@ -284,8 +311,12 @@ def sphinxCmd(): cmd['index'] = cmd_index cmd['delta'] = cmd_delta cmd['cmd'] = bin_dir + '/bin/bin/indexer -c ' + bin_dir + '/sphinx.conf' + return cmd - return public.returnJson(True, 'ok', cmd) +def sphinxCmd(): + data = sphinxConfParse() + if 'index' in data: + return public.returnJson(True, 'ok', data) else: return public.returnJson(False, 'no index') diff --git a/plugins/sphinx/js/sphinx.js b/plugins/sphinx/js/sphinx.js index 49312fb37..a8c6ff487 100755 --- a/plugins/sphinx/js/sphinx.js +++ b/plugins/sphinx/js/sphinx.js @@ -103,27 +103,30 @@ function runStatus(){ function readme(){ spPost('sphinx_cmd', '', function(data){ + var rdata = $.parseJSON(data.data); if (!rdata['status']){ layer.msg(rdata['msg'],{icon:2,time:2000,shade: [0.3, '#000']}); return; } - var con = ''; + var con = '
主索引:' + rdata['data']['cmd'] + ' '+ index_t +' --rotate
'; + con += '增量索引:' + rdata['data']['cmd'] + ' '+ list[0] +' --rotate
'; - con += '合并索引:' + rdata['data']['cmd'] + ' --merge '+ list[1] + ' ' + list[0] +' --rotate
'; + con += '