成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux PyLucene簡單安裝服務器

運維 系統運維
有了Linux PyLucene這個好東西,心頭一塊大石頭算是落地了。沒想到,等到要在開發服務器的Linux上安裝這個東西的時候,可費了功夫了。再改Linux PyLucene的配置文件,根據生成的錯誤消息猜了好幾次才終于可以編譯了。

在向大家詳細介紹Linux PyLucene之前,首先讓大家了解下Linux PyLucene,然后全面介紹Linux PyLucene,希望對大家有用。下一個項目準備用Python+Django來完成,先做些技術準備。數據庫方面用Django已經試驗的差不多了,但是似乎性能很差。

自己編譯了Mysql,用虛擬機測試,生成1000個用戶,1000篇文章用時80秒,這種并發性能恐怕沒有辦法讓人滿意。(每篇文章需要單獨生成Tag和文章與Tag的對應關系,涉及8次數據庫操作。)花了一天時間試驗InnoDB和MyIsam的區別,但是似乎沒有影響,開不開Transaction都一樣。先不管它了,也許和我的機器硬件有關系,硬件的sync關不掉。看官方的說法,SlashDot用Django可以實現每秒800條數據的插入速度。

網站肯定要用到全文檢索,目前唯一的全文檢索解決方案就是Lucene了,.Net上也有Lucene.Net可以選。搜索了一下,發現了Linux PyLucene,這個Python上的Lucene實現。似乎是使用Python對Lucene進行了一次重新包裝。

下載了它的Windows版本,安裝比較簡單,直接把幾個庫文件復制到對應的Lib目錄就行了。運行了一下Sample目錄下的測試文件,先是用IndexFiles和SearchFiles試了一下,SearchFiles是接收參數來搜索的,但是我沒有辦法輸入中文,會出現錯誤提示。后來把要搜索的詞直接放到文件里面去,不報錯了,但是搜索不出來。本以為Linux PyLucene不支持中文,正在納悶豆瓣的搜索是怎么做的,突然發現了一個好東西。

看了一下sample目錄下的LuceneInAction目錄,里面居然有個ChineseTest文件。它調用的是另一個目錄下的測試文件,測試一個漢字的搜索,運行了一下,居然是成功的。再看了一下IndexFiles,里面讀文件用的編碼是英文編碼,改成GB2312,OK,可以搜索到了。

但是只能搜索單字,不能按詞搜索。只要輸入兩個字就出錯。再比較一下Test文件,Query的生成方法不一樣,TermQuery似乎是單元搜索,不支持詞搜索,換成了QueryParser,成功了。但是還有一個小問題,比如搜索“中華”,在文章里,在中和華中間隨便加多少空格和回車都沒有關系,照樣可以搜索到。但是加入其它字或者英文字母以后就搜索不到了。這個影響不大,畢竟人們常用的搜索都是自然詞。

有了Linux PyLucene這個好東西,心頭一塊大石頭算是落地了。沒想到,等到要在開發服務器的Linux上安裝這個東西的時候,可費了功夫了。

官方的下載包做的很奇怪,ubuntu, debian, gentoo都有對應的二進制包可用,但是Redhat就沒有,只能用源碼包編譯,而它的編譯方式又做的極其簡陋,沒有configure文件,只有Makefile。按照說明,需要自己編輯Makefile,去掉你需要的注釋行,修改參數,然后直接Make。但是里面有一個對DB的引用,檢查了一下,BerkeleyDB似乎在CentOS4里面沒有,只好自己去官方網站下載了4.4.20的源碼,先編譯安裝它。雖然最新版是4.5.20,但是怕不兼容,所以還是用它配置文件里推薦的這個。編譯這個東西也挺奇怪,不過還好,畢竟有官方文檔一步步的說明,解壓后需要進入build_unix目錄,然后調用../dist/configure來配置,然后make && make install。指定prefix失敗。裝完了這個東西,再改Linux PyLucene的配置文件,根據生成的錯誤消息猜了好幾次才終于可以編譯了。最終需要改的地方為:
1、取消Linux那一段的注釋。
2、PREFIX_PYTHON是你的Python的目錄。因為我的Python是自己編譯安裝的,所以這里需要改一下。
3、DB=這個我指向了BerkeleyDB的源碼目錄才通過編譯的(還好沒刪)。

其它的不用改。編譯到一半報錯,有一個libgcj.a文件找不到,到/usr/lib下找了一下沒有這個文件,但是有個差不多的.so,于是做了個ln -s,居然就通過編譯了。然后make install的時候又有問題,提示libgcc_s.so.1找不到,這個是Makefile里面的LIB_INSTALL參數指定的,我不知道它的意義在哪里,最后我也沒找到這個文件,但是直接進入Sample目錄運行了一下測試文件,居然就成功了。真TMD。這就是Linux嗎?終于可以安心的研究Django了。似乎Ruby On Rails還沒有支持中文全文檢索的模塊吧?

【編輯推薦】

  1. Linux wget命令行的下載工具
  2. Linux分區命名將更加清晰詳細
  3. Linux分區方案最節省的分區方案
  4. Linux mysql命令安裝允許遠程連接
  5. Ubuntu Linuxc系統狀態安裝步驟
責任編輯:佚名 來源: CSDN
相關推薦

2010-08-27 10:40:58

Linux DHCP服

2010-08-06 13:06:28

NFS服務器

2010-08-23 15:51:36

DHCP服務器Linux

2010-05-18 18:16:28

IIS服務器

2010-08-03 13:26:36

linux搭建NFS服

2009-09-30 11:14:52

2009-02-18 13:44:00

2011-09-01 17:32:11

Linux服務器

2009-02-18 13:43:00

2009-09-08 13:48:13

NFS服務器

2009-09-17 16:06:18

2017-12-18 14:27:26

LinuxDNS服務器安裝、配置和維護

2009-06-14 18:37:53

Linux刀片服務器安裝

2010-03-03 15:49:38

Linux Oracl

2011-01-21 09:54:44

LinuxSendmail

2010-09-14 11:09:36

Linux TFTP服

2019-09-19 14:44:18

LinuxWindows操作系統

2010-09-28 15:56:49

2020-11-11 15:36:51

服務器

2021-01-29 14:41:43

Nginx直播服務器rtmp
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本欧美国产在线观看 | 成年人免费看的视频 | 久久久观看 | 中文字幕成人av | 午夜午夜精品一区二区三区文 | 韩日av在线 | 国产精品久久久久久久久免费樱桃 | 亚洲免费精品 | 免费成人在线网站 | 色精品视频 | 日韩精品一区中文字幕 | 国产成人精品一区二 | 国户精品久久久久久久久久久不卡 | 精品一区二区在线观看 | 久久久久久久久久久爱 | 欧美在线日韩 | 九九久久免费视频 | 国产精品99久久久久久宅男 | av毛片| 国产蜜臀97一区二区三区 | 国产精品亚洲成在人线 | 91综合在线视频 | 精品国产伦一区二区三区观看方式 | 日韩中文一区二区三区 | 午夜精品久久 | 日韩精品久久久久 | 欧美色专区 | 日韩精品在线观看视频 | 99国内精品久久久久久久 | 美女黄色在线观看 | 久在草| 成人在线观看免费爱爱 | 欧美日韩不卡合集视频 | 亚洲成人www | 91成人免费电影 | 午夜影院中文字幕 | 国产精品一区三区 | 国产精品欧美一区二区三区 | 亚洲91av | 成年人在线播放 | 久久青青 |