apache lucene-建立自己的搜尋引擎-索引檔

apachelucene是一套opensource的Search-Engine,搜尋效果比直接使用資料庫條件like還要來的好,而且也不會佔用到資料庫的資源,只需要使用到硬碟的IO,所以可以把搜尋引擎另外做到另一個硬碟,或是放到另一台主機上,單獨成搜尋引擎Server,設計成Multi-Tires架構。

在使用apache lucene時,需要先把資料建立成索引檔,搜尋時則直接取用索引資料,來加快查詢的速度,不同類型的資料可以依需求建立成不同的搜尋索引檔,以下範例是如何建立一組索引檔。

索引檔內容如下圖:

Read More

[Java]簡單的排程Schedule程式

之前主機一直被強迫斷線,而且設定了自動ADSL重撥都沒作用,應該是程式被強迫關閉了,所以重撥功能也才沒做用,本來想利用Windows排程,定時一直自動重撥ADSL,不過重撥後還要把ICS Bind DNS Server重啟才有作用,所以簡單的規畫了一個程式,可以設定在Windows排程式,開機後執行,而我是設定在ADSL自動撥號及DNS啟動後執行(一個command檔)。

程式功能很簡單,主要在啟動時把需要排程執行的thread class全都載入及執行,而定時的部份在每一個thread class裡,利用sleep來間隔執行,不過這會有執行內容時間上的問題,程式還有很多需要改進的地方,像是讀取外部檔來設定排程、排程中斷等目前都還沒加入,等有空時再慢慢增加。

Java排程程式

測試ADSL是否斷線是利用執行command指令ipconfig /all 來取得default gateway是否存在著ip位置,如果不存在則執行command 來啟動撥號ADSL,並重啟ICS Bind DNS Server,設定時間是30分鐘檢查一次。不過這是我的環境,需要的人可能要修改些地方。

程式碼如下:

Read More

Windows XP環境Apache出現失敗的模組ntdll.dll

最近流量有一點點增長,不過網站的速度跟常常出現失敗的模組ntdll.dll錯誤,搞的主機會停住很久才回應網頁,之前流量小點時不太常出現,而查看方向也一直在Apache跟mysql的調整上,不過似乎沒什麼用,google一下,幾乎都說是中毒了、重灌就好了,不過重灌似乎不是很好的解決方式。

失敗的事件內容可以從控制台->系統管理工具->事件檢視器->Windows記錄(應用程式)

失敗的應用程式httpd.exe,版本2.2.8.0,失敗的模組 ntdll.dll,版本5.1.2600.5755,錯誤位址 0x0001aa21。

Apache錯誤.png

Read More

[Java]SiteMap Creater-簡介SiteMap.xml

大部份有寫blog的人應該都知道SiteMap是什麼東西,網站地圖,以前網站做SiteMap是讓使用者更方便找到資料,如今的SiteMap功能確是讓搜尋引擎更方便快速的取得資料。

What is SiteMap?

SiteMap對於一個網站來說有好有壞,好處就是可以直接提供資料給搜尋引擎,讓搜尋引擎更快速的來抓取資料,壞處呢?相對的資料也很容易被其它有心人事直接取走使用,所以在取捨上就需要好好考慮了,不過大部份的網站還是選擇提供SiteMap。

sitemap1.png

相關說明:wiki資料什麼是 Sitemap?

Read More

(教學)在Ubuntu裡建立Apache with Tomcat 服務-3

前二篇資料(教學)在Ubuntu裡建立Apache with Tomcat 服務-2    (教學)在Ubuntu裡建立Apache with Tomcat 服務-1

讓Apache Server與Tomcat Server做溝通

使Apache支援JSP及測試ImageMagick及JMagick是否可用

1.設定apache使用apj與tomcat做溝通,把所有內容向tomcat送

#sudo vi /etc/apache2/sites-available/default 

在<VirtualHost *:80></VirtualHost>tag內增加

 LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so 
 LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so 
 LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_conn$ 
 LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so 
 ProxyPass / ajp://127.0.0.1:8009/ 
 ProxyPassReverse / ajp://127.0.0.1:8009/

2.重新啟動tomcat及apache

#sudo /etc/init.d/tomcat5 restart 
#sudo /etc/init.d/apache2 restart 

測試http://localhost/是否跟http://localhost:8080/一樣

一樣的話就是成功了!

3.測試jmagick是否可用

Read More