全文搜尋 (Lucene 和 Ferret)

, , , , , , , at May 21st, 2007 by 小影

搜尋器改變了人們的習慣。當有能力在互聯網上用 0.01 秒的搜尋就找到想要的資料時,如果我們的軟件要花個幾秒甚至幾分鐘才找到資料,用家就會覺得這個軟件很差勁了。怎樣去做搜尋?最近單的方法莫過於 SELECT * FROM MYTABLE WHERE CONTENT LIKE '%KEYWORD1%' OR '%KEYWORD2%' 。我們的專案就是用這個方法搜尋用戶地址。這個方法完全沒有問題 -- 起碼 -- 在這一年多的開發、測試環境也沒有問題。直到在實際環境中 -- 有上百萬條記錄的資料庫 -- 這種搜尋對資料庫的壓力太大了。試想著每次也由頭到尾由「黃頁」找一個人吧。每條查詢花上2秒以上的時間,我們的系統可是有 3000 個同時的用家啊!全文搜索全文搜索是另一個方法。它的原理是把文件每一個字也加進索引中,就如查「黃頁」可以直接打開相關的頁數一樣,效率比傳統方法快上一個數量級。Lucene 是一個 Java 的全文搜索工具,利用它任何 Java 軟件也可以為任何文件作全文搜索。它分成兩部份:索引和搜尋。前者把文件經整理和分詞化成可以搜尋的索引;後者則由用者的查詢返回相關結果。Lucene 的擴展性很高,開發者可以編寫不同的 document parser 讓 lucene 支援任何文檔,擴展 Analyzer 以支援不同的語言,也可以自定 query parser 改變搜尋的特性。Lucene 的發展相當成熟,我可不用班門弄斧寫教學了,初學者請讀 IBM developerWorks 实战 Lucene,第 1 部分: 初识 Lucene  。Ruby ...

中文の悲劇

, , , at February 18th, 2007 by 小影

今天購入了萬眾期待的PSP遊戲Monster Hunter Portable 2。不過在開始玩之前卻看到一些讓我很失望的東西... 就是它的中文說明書!請看看其中一些內文: 甚麼叫「QUEST之畫面解說」?「限制時間表示」?「而STAMINA GAUGE的最大值,在經過一段時間後角色感到肚餓時便會減少」?當然我也不期待CAPCOM會像微軟一樣用心地把遊戲內容也譯成中文,但是拜托,如果沒心譯的話就不譯好了,這種圾垃中譯真是看見都讓人眼怨呀。。。 說回遊戲,我是第一次接觸這個系列,沒有甚麼故事的系統很適合作為掌上遊戲。遊戲中每類武器都有不同的用法,單是訓練的任務己經有排玩了。現在還沒有開始實戰,有時間深入研究後再下寫評語吧...

讓我迷惑的中文譯名

, , at November 26th, 2006 by 小影

每次讀中文書或者使用中文版軟件,總會有些讓我百思不得其解的翻譯...以下是裏面選出的譯名之王...! 套接字/安全套接字 腳手架 宗卷 句柄 回滾 如果你幸運地未見過上面那堆譯名,試著猜猜他們的原名吧... 按入全文有提示!

百度

, at March 12th, 2006 by 小影

從來也不喜歡「百度」這公司,因為它雖自稱是最大的中文搜尋器,但實際上是只是google的copycat,再配合「國情需要」發展一些人家不會做的業務而矣。不過最近讀到的一篇文章讓我有至少一個欣賞它的理由 -- 他的名字。百度之名源於辛棄疾《清玉案 元夕》「眾裡尋他千百度,驀然迴首,那人卻在燈火欄珊處。」,一個優美又有意思的名字 ,比起好些古怪名字的大網站好多了。 《清玉案 元夕》 -- 宋辛棄疾 東風夜放花千樹,更吹落,星如雨。寶馬雕車香滿路,風簫聲動,玉壺光轉,一夜魚龍舞。娥而雪柳黃金縷,笑語盈盈暗香去。眾裡尋他千百度,驀然迴首,那人卻在燈火欄珊處。

Temp: Chinese Lexicon Tokenizer in PHP

, , at January 5th, 2006 by 小影

Building a lexicon based chinese tokenizer ...