今天才發現,原來 Zope 可以處理中文 ^^; [r1]

之前一直以為 Zope 不管是 ZODB、Structured Text 還是 ZCatalog,都還不能正常地處理、搜尋中文內容,但其實在使用 Unicode 的情況下,CJK 的處理已經由 "zopechina":http://www.zopechina.com/ 的 "CJKsplitter":http://zope.org/Members/panjunyong/CJKSplitter 和 "ZopeChinaPak":http://zope.org/Members/panjunyong/ZopeChinaPak 作好了。只要安裝這兩個 product 就可以讓 Structured Text 和 ZCatalog 處理中文 (ZODB 的部分尚未測試)。

安裝的步驟 (on Debian):

0 取得 "CJKSplitter 0.6":http://zope.org/Members/panjunyong/CJKSplitter/CJKSplitter-0_6/cjksplitter-0_6.tgz 和 "ZopeChinaPak 0.4":http://zope.org/Members/panjunyong/ZopeChinaPak/zopechinapak-0_4/zopechinapak-0_4.tgz。

0 解開到 instance specific Product directory。

所用的指令是::

$ cd /var/lib/zope/instance/default/Products
$ ls
$ tar xvfz /path/to/cjksplitter-0_6.tgz
$ tar xvfz /path/to/zopechinapak-0_4.tgz
$ ls
CJKSplitter/ COREBlog/ ZopeChinaPak/ mxmCounter/

你注意到我還安裝了 "mxmCounter":http://www.mxm.dk/products/public/mxmCounter/ 這個 product ;) 它是一個網頁計數器,蠻好用的。你可以在 "這裡":http://www.mxm.dk/products/public/mxmCounter/files/mxmCounter.1.1.0.tar.gz 下載 1.1.0 版。

0 不過包裝裡檔案的權限可能有問題,需要自己改一下。

改法是::

$ cd /var/lib/zope/instance/default/Products
$ chmod -R 644 CJKSplitter ZopeChinaPak
$ find CJKSplitter ZopeChinaPak -type d -exec chmod 2755 {} \;
$ chown -R root.root CJKSplitter ZopeChinaPak

0 重新啟動 zope。

使用 Debian 套件安裝的話,這樣作::

$ /etc/init.d/zope restart

0 到這裡,Structured Text 就可以 _正常地_ 讓 **中文** 變化各種格式了。

0 至於要讓 "COREBlog":http://coreblog.org/ (1.0 release) 能作中文搜尋,重點是讓 COREBlog 選用適當的 Splitter (也可以參考 COREBlog 0.6b 的"說明":http://coreblog.org/howtos/search_howto_html,COREBlog 從這一版開始支援 ZCTextIndex):

- 建立 COREBlog instance 的時候進行選擇。

0 要勾選 Create ZCTextIndex for serch。

0 Stop Words 選 Don't remove stop words (這是預設值)。

0 Word Splitter 選 CJK Splitter。這應該是給 Unicode 用的,如果選 CJK BIG5 splitter 的話,分辨出來的單字會變成亂碼。

0 OK

- 已經建好的 COREBlog instance,要把 lexicon 刪除掉重建。

0 到已建好的 COREBlog 的 Contents 頁面去,把其下的 "lexicon" 給殺了。

0 從右上角選擇 ZCTextIndex Lexicon,Id 同樣取為 "lexicon",而 "Case Normalizer", "Stop Words", "Word Splitter" 和上面新建 COREBlog 時選成一樣就好了。

0 回到 COREBlog instance 裡的 Entry,選擇畫面下面的 Recatalog,讓 lexicon 取得新的索引資料。

0 OK

0 最後,當然要記得把 COREBlog instance 裡的 modules/index_html 的 searchform 給打開。這樣就完成了,你的 COREBlog 現在可以搜尋中文。

至於 Plone 的中文搜尋,似乎還要改 portal_catalog 的型態,目前沒時間弄。我的 Plone 都還停在 1.0.5,以後再試試這個部分。

.. [r1] "TZUG related discussion":http://www.zope.org.tw/Forum/Tech/Zope/946686512285

.. [r2] Structured Text 的說明文字,"Help on Structured Text":http://www.zope.org/Members/millejoh/structuredText
Posted by yungyuc at 21:40, 0 comment, 0 trackback.
Navigate
Add a trackback
Add a comment

Your name. (required)

Your personal website. (optional)

Your email address. Will not show in page. (suggested, but optional)

Text format is "Plain Text".

Enter "bcIdK"
© hover year to navigate month: powered by django