小編給大家分享一下安裝scws的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),梨林企業(yè)網(wǎng)站建設(shè),梨林品牌網(wǎng)站建設(shè),網(wǎng)站定制,梨林網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,梨林網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。centOs 環(huán)境下安裝 scws
1、安裝 bzip2 及 gcc gcc-c++ yum install bzip2 yum -y install gcc gcc-c++ 2、下載 scws-1.2.3 的代碼 wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 3、解壓 tar xvjf scws-1.2.3.tar.bz2 4、安裝 cd scws-1.2.3 ./configure --prefix=/usr/local/scws make ; make install 順利的話已經(jīng)編譯并安裝成功到 /usr/local/scws 中了,執(zhí)行下面命令看看文件是否存在 ls -al /usr/local/scws/lib/libscws.la 5、用 wget 下載并解壓詞典,或從主頁下載然后自行解壓再將 *.xdb 放入 /usr/local/scws/etc 目錄中 cd /usr/local/scws/etc wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2 wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2 tar xvjf scws-dict-chs-gbk.tar.bz2 tar xvjf scws-dict-chs-utf8.tar.bz2 6、php擴(kuò)展 如果您需要在 php 中調(diào)用分詞,建議繼續(xù)閱讀本文安裝 php 擴(kuò)展,否則可跳過不看。 假設(shè)您已經(jīng)將 scws 按上述步驟安裝到 /usr/local/scws 中。 安裝此擴(kuò)展要求您的 php 和系統(tǒng)環(huán)境安裝了相應(yīng)的 autoconf automake 工具及 phpize 。 1) 進(jìn)入源碼目錄的 phpext/ 目錄 cd /var/scws-1.2.3/phpext 2) 執(zhí)行 phpize (在PHP安裝目錄的bin/目錄下)[沒有安裝phpize 使用 yum install php-devel 安裝] 3) 執(zhí)行 ./configure --with-scws=/usr/local/scws 4) 若 php 安裝在特殊目錄 $php_prefix, 則請(qǐng)?jiān)?configure 后加上 --with-php-config=$php_prefix/bin/php-config 5) 在 php.ini [/etc/php.ini] 中加入以下幾行 [scws] extension = scws.so scws.default.charset = utf8 scws.default.fpath = /usr/local/scws/etc
Windows 環(huán)境下安裝 scws
php 擴(kuò)展下載地址 1. 根據(jù)您當(dāng)前用的 PHP 版本,下載相應(yīng)已編譯好的 php_scws.dll 擴(kuò)展庫。 目前支持 PHP-4.4.x 和 PHP-5.2.x 系列,下載地址分別為: php-4.4.x: http://www.xunsearch.com/scws/down/php-4.4.x/php_scws.dll php-5.2.x: http://www.xunsearch.com/scws/down/php-5.2.x/php_scws.dll php-5.3.x: http://www.xunsearch.com/scws/down/php-5.3.x/php_scws.dll 2. 將下載后的 php_scws.dll 放到 php 安裝目錄的 extensions/ 目錄中去(通常為:X:/php/extensions/或 X:/php/ext/)。 3. 建立一個(gè)本地目錄放規(guī)則集文件和詞典文件,建議使用:C:/program files/scws/etc 4. 從 scws 主頁上下載詞典文件,解壓后將 *.xdb 放到上述目錄中 詞典系列:http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2 http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2 http://www.xunsearch.com/scws/down/scws-dict-cht-utf8.tar.bz2 5. 從 scws 主頁上下載規(guī)則集文件,解壓后將 *.ini 放到第 3 步建立的目錄 規(guī)則集文件壓縮包:http://www.xunsearch.com/scws/down/rules.tgz 解壓后有三個(gè)文件分別為 rules.ini rules.utf8.ini rules_cht.utf8.ini 將三件文件拷到第 3 步所述的目錄中 6. 修改 php.ini 通常位于 C:/windows/php.ini 或 C:/winnt/php.ini 之類的目錄, 在 php.ini 的末尾加入以下幾行: [scws] ; ; 注意請(qǐng)檢查 php.ini 中的 extension_dir 的設(shè)定值是否正確, 否則請(qǐng)將 extension_dir 設(shè)為空, ; 再把 php_scws.dll 指定為絕對(duì)路徑。 ; extension = php_scws.dll scws.default.charset = gbk scws.default.fpath = "c:/program files/scws/etc" 5. 重開 web 服務(wù)器即可完成。
php 代碼
php 代碼 set_charset('utf-8'); // 這里沒有調(diào)用 set_dict 和 set_rule 系統(tǒng)會(huì)自動(dòng)試調(diào)用 ini 中指定路徑下的詞典和規(guī)則文件 $so->send_text("我是一個(gè)中國人,我會(huì)C++語言,我也有很多T恤衣服 name is hai"); while ($tmp = $so->get_result()) { print_r($tmp); } $so->close(); ?> 預(yù)定義常量 ----------- * `SCWS_XDICT_XDB` 詞典文件為 XDB * `SCWS_XDICT_MEM` 將詞典全部加載到內(nèi)存里 * `SCWS_XDICT_TXT` 詞典文件為 TXT(純文本) * `SCWS_MULTI_NONE` 不進(jìn)行復(fù)合分詞 * `SCWS_MULTI_SHORT` 短詞復(fù)合 * `SCWS_MULTI_DUALITY` 散字二元復(fù)合 * `SCWS_MULTI_ZMAIN` 重要單字 * `SCWS_MULTI_ZALL` 全部單字 預(yù)定義類 --------- 這是一個(gè)類似 `Directory` 的內(nèi)置式偽類操作,類方法建立請(qǐng)使用 `scws_new()` 函數(shù),而不能直接用 `new SimpleCWS`。 否則不會(huì)包含有 handle 指針,將無法正確操作。它包含的方法有: ```php class SimpleCWS { resource handle; bool close(void); bool set_charset(string charset) bool add_dict(string dict_path[, int mode = SCWS_XDICT_XDB]) bool set_dict(string dict_path[, int mode = SCWS_XDICT_XDB]) bool set_rule(string rule_path) bool set_ignore(bool yes) bool set_multi(int mode) bool set_duality(bool yes) bool send_text(string text) mixed get_result(void) mixed get_tops([int limit [, string xattr]]) bool has_word(string xattr) mixed get_words(string xattr) string version(void) }; ``` > **注意** 類方法的用與支 scws_xxx_xxx 系列函數(shù)用法一致,只不過免去第一參數(shù), > 故不另外編寫說明,請(qǐng)參見函數(shù)列表即可。 **例子1** 使用類方法分詞 ```php set_charset('gbk'); // 這里沒有調(diào)用 set_dict 和 set_rule 系統(tǒng)會(huì)自動(dòng)試調(diào)用 ini 中指定路徑下的詞典和規(guī)則文件 $so->send_text("我是一個(gè)中國人,我會(huì)C++語言,我也有很多T恤衣服"); while ($tmp = $so->get_result()) { print_r($tmp); } $so->close(); ?> ``` **例子2** 使用函數(shù)提取高頻詞 ```php ``` > **注意** 為方便使用,當(dāng) `SimpleCWS::send_text` 方法或 `scws_send_text()` 函數(shù)被調(diào)用前并且沒有 > 加載任何詞典和規(guī)則集時(shí),系統(tǒng)會(huì)自動(dòng)在 `scws.default.fpath` (ini配置)目錄中查找相應(yīng)的字符集詞典。 > 詞典和規(guī)則文件的命名方式為 dict[.字符集].xdb 和 rules[.字符集].ini ,當(dāng)字符集是 gbk 時(shí)中括號(hào)里面的 > 部分則不需要,直接使用 dict.xdb 和 rules.ini 而不是 dict.gbk.xdb 。 > > 此外,輸入的文字,詞典、規(guī)則文件這三者的字符集必須統(tǒng)一,如果不是默認(rèn)的 gbk 字符集請(qǐng)調(diào)用 > `SimpleCWS::set_charset` 或 `scws_set_charset` 來設(shè)定,否則可能出現(xiàn)意外錯(cuò)誤。 函數(shù)詳解 -------- 1. `mixed scws_new(void)` 創(chuàng)建并返回一個(gè) `SimpleCWS` 類操作對(duì)象。 > **返回值** 成功返回類操作句柄,失敗返回 false。 2. `mixed scws_open(void)` 創(chuàng)建并返回一個(gè)分詞操作句柄。 > **返回值** 成功返回 scws 操作句柄,失敗返回 false。 3. `bool scws_close(resource scws_handle)` `SimpleCWS::close(void)` 關(guān)閉一個(gè)已打開的 scws 分詞操作句柄。 > **參數(shù) scws_handle** 即之前由 scws_open 打開的返回值。 > **返回值** 始終為 true > **注意** 后面的 API 中省去介紹 scws_handle 參數(shù),含義和本函數(shù)相同。 4. `bool scws_set_charset(resource scws_handle, string charset)` `bool SimpleCWS::set_charset(string charset)` 設(shè)定分詞詞典、規(guī)則集、欲分文本字符串的字符集。 > **參數(shù) charset** 要新設(shè)定的字符集,目前只支持 utf8 和 gbk。(注:默認(rèn)為 gbk,utf8不要寫成utf-8) > **返回值** 始終為 true 5. `bool scws_add_dict(resource scws_handle, string dict_path [, int mode])` `bool SimpleCWS::add_dict(string dict_path [, int mode])` 添加分詞所用的詞典,新加入的優(yōu)先查找。 > **參數(shù) dict_path** 詞典的路徑,可以是相對(duì)路徑或完全路徑。(遵循安全模式下的 open_basedir) > **參數(shù) mode** 可選,表示加載的方式。其值有: > > - SCWS_XDICT_TXT 表示要讀取的詞典文件是文本格式,可以和后2項(xiàng)結(jié)合用 > - SCWS_XDICT_XDB 表示直接讀取 xdb 文件(此為默認(rèn)值) > - SCWS_XDICT_MEM 表示將 xdb 文件全部加載到內(nèi)存中,以 XTree 結(jié)構(gòu)存放,可用異或結(jié)合另外2個(gè)使用。 > > **返回值** 成功返回 true 失敗返回 false 6. `bool scws_set_dict(resource scws_handle, string dict_path [, int mode])` `bool SimpleCWS::set_dict(string dict_path [, int mode])` 設(shè)定分詞所用的詞典并清除已存在的詞典列表。 > **參數(shù) dict_path** 詞典的路徑,可以是相對(duì)路徑或完全路徑。(遵循安全模式下的 open_basedir) > **參數(shù) mode** 可選,表示加載的方式。參見 `scws_add_dict` > **返回值** 成功返回 true 失敗返回 false 7. `bool scws_set_rule(resource scws_handle, string rule_path)` `bool SimpleCWS::set_rule(string rule_path)` 設(shè)定分詞所用的新詞識(shí)別規(guī)則集(用于人名、地名、數(shù)字時(shí)間年代等識(shí)別)。 > **參數(shù) rule_path** 規(guī)則集的路徑,可以是相對(duì)路徑或完全路徑。(遵循安全模式下的 open_basedir) > **參數(shù) mode** 可選,表示加載的方式。參見 `scws_add_dict` > **返回值** 成功返回 true 失敗返回 false 8. `bool scws_set_ignore(resource scws_handle, bool yes)` `bool SimpleCWS::set_ignore(bool yes)` 設(shè)定分詞返回結(jié)果時(shí)是否去除一些特殊的標(biāo)點(diǎn)符號(hào)之類。 > **參數(shù) yes** 設(shè)定值,如果為 true 則結(jié)果中不返回標(biāo)點(diǎn)符號(hào),如果為 false 則會(huì)返回,缺省為 false。 > **返回值** 始終為 true 9. `bool scws_set_multi(resource scws_handle, int mode)` `bool SimpleCWS::set_multi(bool yes)` 設(shè)定分詞返回結(jié)果時(shí)是否復(fù)式分割,如“中國人”返回“中國+人+中國人”三個(gè)詞。 > **參數(shù) mode** 復(fù)合分詞法的級(jí)別,缺省不復(fù)合分詞。取值由下面幾個(gè)常量異或組合(也可用 1-15 來表示): > > - SCWS_MULTI_SHORT (1)短詞 > - SCWS_MULTI_DUALITY (2)二元(將相鄰的2個(gè)單字組合成一個(gè)詞) > - SCWS_MULTI_ZMAIN (4)重要單字 > - SCWS_MULTI_ZALL (8)全部單字 > > **返回值** 始終為 true 10. `bool scws_set_duality(resource scws_handle, bool yes)` `bool SimpleCWS::set_duality(bool yes)` 設(shè)定是否將閑散文字自動(dòng)以二字分詞法聚合 > **參數(shù) yes** 設(shè)定值,如果為 true 則結(jié)果中多個(gè)單字會(huì)自動(dòng)按二分法聚分,如果為 false 則不處理,缺省為 false。 > **返回值** 始終為 true 11. `bool scws_send_text(resource scws_handle, string text)` `bool SimpleCWS::send_text(string text)` 發(fā)送設(shè)定分詞所要切割的文本。 > **參數(shù) text** 要切分的文本的內(nèi)容。 > **返回值** 成功返回 true 失敗返回 false > **注意** 系統(tǒng)底層處理方式為對(duì)該文本增加一個(gè)引用,故不論多長的文本并不會(huì)造成內(nèi)存浪費(fèi); > 執(zhí)行本函數(shù)時(shí),若未加載任何詞典和規(guī)則集,則會(huì)自動(dòng)試圖在 ini 指定的缺省目錄下查找缺省字符集的詞典和規(guī)則集。 12. `mixed scws_get_result(resource scws_handle)` `mixed SimpleCWS::get_result()` 根據(jù) send_text 設(shè)定的文本內(nèi)容,返回一系列切好的詞匯。 > **返回值** 成功返回切好的詞匯組成的數(shù)組,若無更多詞匯,返回 false。返回的詞匯包含的鍵值如下: > > - word _string_ 詞本身 > - idf _float_ 逆文本詞頻 > - off _int_ 該詞在原文本路的位置 > - attr _string_ 詞性 > > **注意** 每次切詞后本函數(shù)應(yīng)該循環(huán)調(diào)用,直到返回 false 為止,因?yàn)槌绦蛎看畏祷氐脑~數(shù)是不確定的。 13. `mixed scws_get_tops(resource scws_handle [, int limit [, string attr]])` `mixed SimpleCWS::get_tops([int limit [, string attr]])` 根據(jù) send_text 設(shè)定的文本內(nèi)容,返回系統(tǒng)計(jì)算出來的最關(guān)鍵詞匯列表。 > **參數(shù) limit** 可選參數(shù),返回的詞的大數(shù)量,缺省是 10 > **參數(shù) attr** 可選參數(shù),是一系列詞性組成的字符串,各詞性之間以半角的逗號(hào)隔開, > 這表示返回的詞性必須在列表中,如果以~開頭,則表示取反,詞性必須不在列表中,缺省為NULL,返回全部詞性,不過濾。 > **返回值** 成功返回統(tǒng)計(jì)好的的詞匯組成的數(shù)組,返回 false。返回的詞匯包含的鍵值如下: > > - word _string_ 詞本身 > - times _int_ 詞在文本中出現(xiàn)的次數(shù) > - weight _float_ 該詞計(jì)算后的權(quán)重 > - attr _string_ 詞性 14. `mixed scws_get_words(resource scws_handle, string attr)` `mixed SimpleCWS::get_words(string attr)` 根據(jù) send_text 設(shè)定的文本內(nèi)容,返回系統(tǒng)中詞性符合要求的關(guān)鍵詞匯。 > **參數(shù) attr** 是一系列詞性組成的字符串,各詞性之間以半角的逗號(hào)隔開, > 這表示返回的詞性必須在列表中,如果以~開頭,則表示取反,詞性必須不在列表中,若為空則返回全部詞。 > **返回值** 成功返回符合要求詞匯組成的數(shù)組,返回 false。返回的詞匯包含的鍵值參見 `scws_get_result` 15. `bool scws_has_words(resource scws_handle, string attr)` `mixed SimpleCWS::has_words(string attr)` 根據(jù) send_text 設(shè)定的文本內(nèi)容,返回系統(tǒng)中是否包括符合詞性要求的關(guān)鍵詞。 > **參數(shù) attr** 是一系列詞性組成的字符串,各詞性之間以半角的逗號(hào)隔開, > 這表示返回的詞性必須在列表中,如果以~開頭,則表示取反,詞性必須不在列表中,若為空則返回全部詞。 > **返回值** 如果有則返回 true,沒有就返回 false。 16. `string scws_version(void)` `string SimpleCWS::version(void)` 返回 scws 版本號(hào)名稱信息(字符串)。
看完了這篇文章,相信你對(duì)安裝scws的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。