Explorar el Código

导入comp到redis 支持索引文件导入方式

visuddhinanda hace 5 años
padre
commit
5f1a862cfe
Se han modificado 4 ficheros con 72 adiciones y 12 borrados
  1. 6 1
      app/dict/dict.js
  2. 10 10
      app/dict/get_split_data.php
  3. 56 0
      app/dict/redis_import_dict.php
  4. 0 1
      app/uhome/index.php

+ 6 - 1
app/dict/dict.js

@@ -200,7 +200,12 @@ function get_comp_data(word) {
 			try {
 				let result = JSON.parse(data);
 				if (result.length > 0) {
-					render_parts_select(result);
+					let comp = new Array();
+					for (const iterator of result) {
+						comp.push({ word: iterator[7], confidence: iterator[10] });
+					}
+					let compGroup = new Array(comp);
+					render_parts_select(compGroup);
 				} else {
 					trubo_split();
 				}

+ 10 - 10
app/dict/get_split_data.php

@@ -22,16 +22,16 @@ if($redis!==false){
 		exit;
 	}
 }
-$dbh = new PDO(_DICT_DB_COMP_, "", "", array(PDO::ATTR_PERSISTENT => true));
-$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
-$query = "SELECT parts from "._TABLE_DICT_COMP_." where pali =?";
-$stmt = $dbh->prepare($query);
-$stmt->execute(array($inputWord));
-$fComp = $stmt->fetchAll(PDO::FETCH_ASSOC);		
-$output = json_encode($fComp, JSON_UNESCAPED_UNICODE);
-if($redis!==false){
-	$redis->hSet("dict://comp",$inputWord,$output) ;
+else{
+	$dbh = new PDO(_DICT_DB_COMP_, "", "", array(PDO::ATTR_PERSISTENT => true));
+	$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
+	$query = "SELECT parts from "._TABLE_DICT_COMP_." where pali =?";
+	$stmt = $dbh->prepare($query);
+	$stmt->execute(array($inputWord));
+	$fComp = $stmt->fetchAll(PDO::FETCH_ASSOC);		
+	$output = json_encode($fComp, JSON_UNESCAPED_UNICODE);
+	echo $output;	
 }
-echo $output;
+
 
 ?>

+ 56 - 0
app/dict/redis_import_dict.php

@@ -0,0 +1,56 @@
+<?php  
+require_once "../path.php";
+require_once "../install/filelist.php";
+require_once "../redis/function.php";
+
+if (PHP_SAPI == "cli") {
+    if ($argc >= 2) {
+		$list = $argv[1];
+        $redis = redis_connect();
+        if ($redis == false) {
+            echo "no redis connect\n";
+            exit;
+		}
+		$count=0;
+		$taskList = json_decode(file_get_contents(__DIR__."/".$list));
+		$dir = dirname(__DIR__."/".$list);
+		foreach ($taskList as $key => $task) {
+			# code...
+			$redis->del($task->rediskey);
+			foreach ($task->csv as $csv) {
+				$csvfile = $dir."/".$csv;
+				if (($fp = fopen($csvfile, "r")) !== false) {
+					echo "单词表load {$csvfile}\n";
+					while (($data = fgets($fp)) !== false) {
+						$data1 = explode(",",$data);
+						$old = $redis->hGet($task->rediskey,$data1[$task->keycol]);
+						$new = array();
+						if($old){
+							$new = json_decode($old,true);
+							array_push($new,$data1);
+						}
+						else{
+							$new[] = $data1;
+						}
+						$redis->hSet($task->rediskey,$data1[$task->keycol],json_encode($new, JSON_UNESCAPED_UNICODE));
+						$count++;
+						if($count%10000==0){
+							sleep(1);
+							echo $count."\n";
+						}
+					}
+					fclose($fp);
+					
+				} else {
+					echo "can not open csv file. ";
+				}	
+			}
+		
+		}
+
+
+    }
+}
+
+
+?>

+ 0 - 1
app/uhome/index.php

@@ -23,7 +23,6 @@ include "../pcdl/html_head.php";
 $(document).ready(function(){
   getUserBio('<?php if(isset($_GET["userid"])){echo $_GET["userid"];} ?>')
 });
-
 </script>
 <?php
 include "../pcdl/html_foot.php";