StoneAgeDict現階段設計小結

來源:互聯網
上載者:User
今天和zy結隊編程了一天,討論了很多問題。主要是圍繞詞庫的開放式、即時的基本特性討論的。
<br />
<br /> 下面是對這兩個特性的基本描述:
<br />
<h2>What?
</h2>
<h3>1. 開放性
</h3>
<p>註冊使用者可以在查詢出來的詞彙中提交自己的詞彙解釋。這個解釋將被遞交到詞庫審核組,由審核組的工作人員審核這個提交。
</p>
<p>例如,使用者Daniel查詢了beyond這個詞彙,但是對這個詞有著自己的理解,他可以提交這個理解給審核組。
  <br />
</p>
<h3>2. 即時性
</h3>當一個新的詞彙定義被審核組審核通過後,這個定義將被加入到詞庫中。
<br />
<br /> 例如,使用者Daniel提交了beyond的一個定義,審核組通過了這個提交,則把這個新的定義追加到詞庫中的beyond詞下。
<br />
<br />
<h2>Why?
</h2>考慮了詞庫的權威性,要完全做到開放式很困難,其最困難的地方就是詞庫的維護。
<br />
<h3>1. 由使用者自己維護自己詞庫的話容易導致詞庫內無用的單詞過多,甚至是詞庫的無效
</h3>
<h3>2. 由專門的審核人員審核,工作量大
</h3>權衡利弊,我們選擇了由專門的審核人員審核的做法。
<br />
<br />
<h2>How?
</h2>
<p>詞庫分為兩種:
</p>
<h3>1. 查詢詞庫
</h3>
<p>由使用者提交的查詢請求都集中在這個詞庫中進行查詢,如果詞庫中不存在使用者要尋找的詞彙,則說明詞彙未找到。這個詞庫內的單詞是<font style="font-weight: bold;" size="2">不能重複</font>的。
  <br />
</p>
<h3>2. 待審核詞庫
</h3>由使用者提交的<font style="font-weight: bold;" size="3">新詞</font>或者是對<font style="font-weight: bold;" size="3">已有詞彙定義的新增<span style="font-weight: bold;"></span></font>都放入這個詞庫,等待審核人員的審核。如果審核通過,則將該詞加入<font style="font-weight: bold;" size="2">查詢詞庫:</font><font style="font-weight: bold;" size="3">新詞</font>直接建立一個詞彙記錄;對於<font style="font-weight: bold;" size="3">已有詞彙定義的新增</font>附加到該詞彙的定義後。同樣地,這個詞庫內的單詞也是<font style="font-weight: bold;" size="2">不能重複</font>的。
<br />
<br />
<h3>3. 詞庫的儲存
</h3>無論是<font style="font-weight: bold;" size="2">查詢詞庫</font>還是<font style="font-weight: bold;" size="2">待審核詞庫</font>都採用資料庫儲存。經過測試,一個43W詞彙的詞庫,檢索一個單詞可以在3-4s內完成。如果再建立快取服務的話,效率可以保證。
<br />
<br />
<h2>XML?!
</h2>目前,XML格式的詞彙檔案作為核心分頁檔格式。例如從<font style="font-weight: bold;" size="2">查詢詞庫</font>中返回的詞彙記錄,採用XML格式直接傳輸到Web介面,由Web伺服器解析後顯示;從<span style="font-weight: bold;">其他詞彙網站/服務</span>提供的單詞轉換成XML格式,並儲存進入<font style="font-weight: bold;" size="2">待審核詞庫</font>。
<h2>&nbsp;
</h2>
<h2>實現
</h2>
<h3> 1.OSGi Framework
</h3>整個應用以OSGi作為底層架構,以<span style="font-weight: bold;">面向服務的組件模型</span>構建。這樣可以做到很好的模組化,把耦合降到最低限度,為<span style="font-weight: bold;">將來的擴充</span>打下堅實的基礎。
<br />
<br />
<h3>2. 基本查詢詞庫構建
</h3>基本的<font style="font-weight: bold;" size="2">查詢詞庫</font>由<a href="http://stardict.sourceforge.net/Dictionaries.php"><span style="color: rgb(0, 0, 255);">StarDict詞庫</span></a>轉換而來,測試轉換了一個43W詞彙的英漢詞庫,耗時5小時。
<br />
<br />
<h3>3. 查詢快取
</h3>由於詞彙量很大,做緩衝是<font style="font-weight: bold;" size="2">必須</font>的。不過現階段還沒有做,還處於研究階段。
<br />
<h2>Another Idea....
</h2>在確定以上方案後,還有一個方案可以選擇:
<br />1. 每個使用者都有自己的詞庫,詞庫中的每個詞彙都有一個<span style="font-weight: bold;">得分</span>
<br />2. 查詢詞彙時從所有使用者詞庫中查詢
<br />3. 按詞彙<span style="font-weight: bold;">得分</span>大小降序顯示各個使用者的詞彙解釋
<br />4. 使用者可以對詞彙進行<span style="font-weight: bold;">評分</span>
<br /> 5. 使用者可以提交對某個詞彙的修改,修改由該詞彙的擁有者審核
<br />
<br />這個方案是建立在<font style="font-weight: bold;" size="2">詞彙評級</font>以及<font style="font-weight: bold;" size="2">詞彙審核開放</font>的基礎上的,有一定的可行性。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.