Browse Source

Merge pull request #1703 from visuddhinanda/agile

更新字典内容
visuddhinanda 2 years ago
parent
commit
0f40144308

+ 13 - 0
rpc/tulip/tulip/README.md

@@ -0,0 +1,13 @@
+# 全文搜索表更新流程
+
+1. 下载字典文件
+
+```bash
+php dict_maker.php
+```
+
+文件将下载到 storage/dict 目录。下载过程中,该目录下有.stop 文件。下载结束后.stop 文件会被删除。
+
+2. 复制字典文件到 postgresql 目录
+3. 运行 `php dict_update.php` 令字典文件生效
+4. 运行 `php content_update.php` 重新生成索引

+ 28 - 0
rpc/tulip/tulip/content_update.php

@@ -0,0 +1,28 @@
+<?php
+
+require dirname(__FILE__) . '/vendor/autoload.php';
+require dirname(__FILE__) . '/config.php';
+require dirname(__FILE__) . '/pdo.php';
+require dirname(__FILE__) . '/logger.php';
+
+logger('debug','content update start');
+
+$PDO = new PdoHelper;
+
+$PDO->connectDb();
+
+$query = "UPDATE fts_texts SET content = content,
+bold_single = bold_single,
+bold_double = bold_double,
+bold_multiple = bold_multiple
+WHERE book = ?;";
+
+for ($i=1; $i < 218; $i++) { 
+    $ok = $PDO->execute($query,[$i]);
+    if($ok){
+        logger('debug','book: '.$i. ' updated.');
+    }else{
+        logger('error','error book: '.$i. ' update fail.'.$PDO->errorInfo());
+    }
+}
+logger('debug','all done');

+ 10 - 12
rpc/tulip/tulip/dict_update.php

@@ -5,23 +5,21 @@ require dirname(__FILE__) . '/config.php';
 require dirname(__FILE__) . '/pdo.php';
 require dirname(__FILE__) . '/logger.php';
 
+logger('debug','dict update start');
 
 $PDO = new PdoHelper;
 
 $PDO->connectDb();
 
-$query = "UPDATE fts_texts SET content = content,
-bold_single = bold_single,
-bold_double = bold_double,
-bold_multiple = bold_multiple
-WHERE book = ?;";
+$query = "ALTER TEXT SEARCH DICTIONARY pali_stem (
+    SYNONYMS = pali
+);";
 
-for ($i=1; $i < 218; $i++) { 
-    $ok = $PDO->execute($query,[$i]);
-    if($ok){
-        logger('debug','book: '.$i. ' updated.');
-    }else{
-        logger('error','error book: '.$i. ' update fail.');
-    }
+$ok = $PDO->execute($query);
+if($ok){
+    logger('debug','dictionary updated');
+}else{
+    logger('error','dictionary update fail.'.$PDO->errorInfo());
 }
+
 logger('debug','all done');

+ 5 - 0
rpc/tulip/tulip/pdo.php

@@ -49,4 +49,9 @@ class PdoHelper {
             return $this->_pdo->query($query);
         }
     }
+
+    public function errorInfo()
+    {
+        return $this->_pdo->errorInfo();
+    }
 }