附加功能 新增詞條,並作為查詢結果顯示

2021-06-27 11:57:09 字數 2229 閱讀 1336

使用者可以自己你新增單詞和翻譯,前提是這些單詞沒有被新增過,而且在redis裡面不存在,也就是不允許有重複的單詞存在,新增完之後,可以再前段通過查詢,得到新增的對應的翻譯。。。。

有乙個功能是: 使用者提交的詞條會生成對應的索引,索引的形式是:該單詞的字首,單詞本身,單詞在資料庫中的唯一id,這些單詞在資料庫中也是分類儲存的。。

(單詞字首,單詞本身,唯一資料庫id )這個hash項是新增到redis中的,當存在巨大的使用者新增詞條時,仍然可以做到微妙的查詢速度

一次性發完:

<?php 

class addredis

//把新增的單詞作為鍵,last_insert_id作為值,插入到redis

public function setindex($wordzone, $word,$num_index)

//從redis中獲取last_insert_id,然後去資料庫查詢使用者新增的單詞

public function getindex($word)

else

}public function gettrans($word)

where id = ";

$res = $this->conn->query($sql);

if($this->conn->affected_rows)

else

}else

}}/* $word = new addredis();

var_dump($word->gettrans("makebbb")); */

?>

<?php 

require_once "addredis.class.php";

class addword

public function setword($word, $trans)

}else

} else

} /*

*插入單詞時可以返回wordzone( word(key) last_insert_id(value)),並插入redis快取,用以索引

* redis->setindex($wordzone, $word, $last_id);

*/if($last_id)

}/* public function getword($word)

else

} else

}*/}/*

$word = new addword(); */

?>

///下面這段程式是控制器

會檢查單詞是否為英文,如果翻譯比較長,會無損截斷,再就是判斷單詞是否存在原始單詞庫中,判斷該單詞是否被其他使用者新增過,並在使用者新增完之後,返回乙個成功或者失敗的提示,當然是無重新整理的

<?php 

require_once "addword.class.php";

require_once "../processcheck.class.php";

require_once "../storeword.class.php";

header("content-type: text/html");

if( !empty($_get['word']) && !empty($_get['trans']))

else

}$trans = $string;

} if(strlen($word)>32) $word=substr($word, 0,32);

$words = new addword();

$words->setword($word, $trans);

$red = dechex(mt_rand(0,255));

$green = dechex(mt_rand(0,255));

$blue = dechex(mt_rand(0,255));

$color="#".$red.$green.$blue;

echo "新增詞條成功";

}else

?>

//這個事介面,可以新增詞條和翻譯,還有乙個隱藏區域,在使用者新增詞條之後,用於無重新整理顯示,新增成功或者失敗的原因,比如單詞背新增過,或者存在原始的詞庫里,經過反覆測試,可以做到不重複

新增翻譯

//最重要的一點是:允許使用者新增詞條當然是對詞庫的補充和完善,當然新增後的詞條,在前段是可以查詢的到的。。。。。

es ik 詞庫新增詞語 ES 倒排索引與分詞

索引 文件id到文件內容 單詞的關聯關係 單詞到文件id的關聯關係 主要包含兩部分 單詞詞典 term dictionary 由b tree實現 記錄所有文件的單詞,一般比較大 記錄單詞到倒排列表的關聯關係 倒排列表 posting list 分詞 指將文字轉換成一系列單詞 term or toke...

筆記本附加功能詳解

筆記本附加功能詳解 bluetooth,這個現在聽的越來越多的名詞,是由愛立信 諾基亞 intel ibm和東芝5家公司於1998年5月共同提出開發的短距無線通訊技術,支援藍芽技術的電子產品理論上能夠在10公尺的距離內彼此相通,傳輸速度可以達到1mb s,在實際應用中,傳輸的速度和距離由於環境的差異...

Redis附加功能之Redis事務

一 事務 redis 的事務功能允許使用者將多個命令包裹起來,然後一次性地 按順序地執行被包裹的所有命令。在事務執行的過程中,伺服器不會中斷事務而改去執行其他命令請求,只有在事務包裹的所有命令都 被執行完畢之後,伺服器才會去處理其他命令請求。事務示例 現在,讓我們假設 setex 命令並不存在於 r...