注    册
密 码 忘记密码
保存密码         取消

公告

JOB已经搞定,专心攥写论文中,偶尔会更新的!CON~

日志

圣诞节

分类:人生感悟

    又过了一年,又经历了很多事,真是很多事啊,都已经懒的写了,太多的大喜大悲,太多的成功与失败了,太多的悲欢离合,太多的忠诚与背叛,已经让人麻木了,心如止水,去年时还有着梦想与愿望,现在连梦想都懒的许了,唯一不变的还是一件事,最讨厌过圣诞节了,因为它总是提醒我,你永远都会是自己一个人,只有这个是永远不会随着时间的改变而变的。去年还会去想做一个好人还是坏人,现在连这个都懒的想了,去TMD,无所谓了,真的,一切都无所谓了。

    瞬间,爷爷过世快一年了,不知道他老人家在那边过的怎样,挺想的,老人一没,真的,这个家就散了,唉,希望奶奶能够健康长寿,您一定要长寿啊!

    我自己已经无所谓了,我只想让我的亲人过得好些,这就是我今年的愿望吧,希望能实现,我已经懒的去祝我讨厌的人,我恨的人,背叛我的人,抛弃我的人,何必那,讨厌就是讨厌,恨就是恨,何必假惺惺的祝他们幸福那?没有必要,当然也没有必要去诅咒他们,顺其自然吧。

    回去睡觉了,好累,好累啊!

疯狂青蛙2006年最新圣诞MV

分类:默认栏目

超级搞笑之美女模仿秀(转自寂寞小志的BLOG)

分类:精彩推荐

转载请注明出处-点击看大图
 
 
 
 
 
 
 
 
 
 
 
 
 
卡哇依待修哦?

第二份OFFER

分类:森林布告

第二份OFFER是中兴通讯的,待遇还不错,而且提供了我想要的职位,斟酌了一下,就把自己卖给中兴了,下面的工作就是该写论文了,我想今年找工作的任务算是画上了一个比较好的句号了吧,拿了两个OFFER,应该可以了吧,再去拿其他公司的估计会被那些没有签约,正在找工作的同学骂了,犹豫下周的松下还要不要去面那?看心情吧!

CON~自己一个先.

OFFER

分类:森林布告

    真是太高兴了,也很激动,不但自己拿到了第一个神州数码的OFFER,我还把一个哥们送进了百度,无论是他测试工程师方向的确定以及最终的面试我都起到了决定性的作用,非常有成就感,眼泪。真的,我感到了自己活着的价值,能帮他成为一名百度ER,要远比自己拿到OFFER高兴百倍。因为我终于有了存在感,我终于实现了我的价值,我觉得这是个里程碑的节点,即使让我现在失去我拿到的OFFER,我也不会悲伤,因为我的价值通过另一种形式得到了体现,这大概就是活着的乐趣吧。还好那时没有失去活下去的勇气,感激老天,上帝,安拉,佛祖,真主,我还活在世上。真的谢谢,我没有结束自己。我将继续活下去。即使再经历任何的磨难,我也会坚强的活下去。

分类:人生感悟

转自----东方腾龙

如果到了这个年纪有个人这样的陪你,一生就足以



一生一世的恩爱,不假富贵荣华,哪怕是一部老掉牙的自行车,依然能够相伴走过共同的人生路



纵向的人生路充满进取,已经不属于他们,他们只是希望缓缓地走好横向的人生路



紧握的爱:
作品说明:老伴身体不好,
很少出门,所以每一次上街,
老人都要像拉着小孩一样拉着老伴。
从老人夸张的动作中,可以看出他对老伴的深厚感情




关爱



生活
一家三口为了生活而帮别人推煤的情景,感动了我.有的人坐的是轿车,
有的人却一家三口守着耐以生存的煤车




爷爷奶奶,我们也会老
爸爸:我来拉你一下!




别说我的眼泪你无所谓!
2005年4月16日晚,云南省一高速公路发生重大车祸,车祸中身受重伤的母亲张红敏在医院接受抢救,还没有从麻醉中完全清醒过来就示意护士把女儿抱到床前,哭个不停的小阳阳趴在妈妈胸前再也不哭了……




我们多少人曾经假装生活在别处,我们闭上眼睛,以为不会看见。
但在这些图片面前,我们能清楚地听见自己撕裂的心灵与灵魂的对话。
曾经麻木的心在疼痛中慢慢复苏
苦的盲人夫妇




苦了一天



这一幕,城市中生活的你有没有目睹过?
  你的心灵曾为此震撼过嘛?
  有这样的骗子吗?这样沧桑的一只手伸出来,你如何忍心让她空着收回?
  在我们无法判断对方是否骗子的时候,能否有“宁可错给,不愿错过”的柔情和心量呢?两块钱对我们真的那么重要吗?我们的慈悲心连这点钱都不值吗?
  如果能有改变,您今天的震撼也算没有白费。
  不怕受骗,也是一种厚德载物,永远不要为我们的冷漠、麻木和小气寻找借口。


Nutch 初体验之二(转)

分类:搜索引擎专题

Nutch 初体验之二----转自DBA notes

前几天介绍了 Nutch 的基本信息 以及 如何使用 Nutch 进行 Intranet crawling。下面进行一下全网的爬行(Whole-web Crawling) 的操作测试。

Nutch 的数据包括两种类型:

  • Web 数据库。包含所有Nutch可以辨别的页面,以及这些页面间的链接信息。
  • 段(segment)集合. 每个 segment 是作为一个单元(unit)被获取并索引的页面集合。Segment 数据包括如下类型:
    • fetchlist:指定待获取的一个页面集合的文件
    • fetcher output:包含获取到的页面的文件集合
    • index:fetcher 输出的 Lucene 格式的索引

注:如果发现有解释不清的地方,请参考这里,不过说实话,Nutch的文档远远不够完善,还存在很多语焉不详的地方。

创建相关的目录并创建一个空的 web 数据库:

[root@fc3 nutch]# mkdir db
[root@fc3 nutch]# mkdir segments
[root@fc3 nutch]# bin/nutch admin db -create
run java in /u01/app/oracle/product/10.1.0/db_1/jdk/jre
050104 122933 loading file:/u01/nutch/conf/nutch-default.xml
050104 122934 loading file:/u01/nutch/conf/nutch-site.xml
050104 122934 Created webdb at db
[root@fc3 nutch]# tree db
db
|-- dbreadlock
|-- dbwritelock
`-- webdb
    |-- linksByMD5
    |   |-- data
    |   `-- index
    |-- linksByURL
    |   |-- data
    |   `-- index
    |-- pagesByMD5
    |   |-- data
    |   `-- index
    `-- pagesByURL
        |-- data
        `-- index

5 directories, 10 files
[root@fc3 nutch]# 

接下来需要用“注射器(injector)”把网址"注入"到数据库中。Nutch 的文档中是从 DMOZ 获取一个 URL 集合,然后取一个子集进行处理。不过该文档实在是太大了。这里用了 http://rdf.dmoz.org/rdf/ 目录下的 content.example.txt 文件做测试。

[root@fc3 nutch]# bin/nutch inject db -dmozfile content.example.txt
run java in /u01/app/oracle/product/10.1.0/db_1/jdk/jre
050104 123105 loading file:/u01/nutch/conf/nutch-default.xml
050104 123106 loading file:/u01/nutch/conf/nutch-site.xml
050104 123106 skew = 1251308788
050104 123106 Begin parse
050104 123106 Using URL filter: net.nutch.net.RegexURLFilter
050104 123106 found resource regex-urlfilter.txt at file:/u01/nutch/conf/regex-urlfilter.txt
.050104 123106 Completed parse.  Added 40 pages.
......
[root@fc3 nutch]#

还好,40 个 URL 而已。不算太多。


获取 URL

从数据库中创建 fetchlist :

[root@fc3 nutch]# bin/nutch generate db segments

segments 目录的基本信息:

[root@fc3 nutch]# tree segments
segments
`-- 20050104135736
    `-- fetchlist
        |-- data
        `-- index

2 directories, 2 files
[root@fc3 nutch]# 

接下来需要把 segments 目录“20050104135736”保存到一个环境变量中,供以后使用。

[root@fc3 nutch]# s1=`ls -d segments/2* | tail -1`

运行 fetcher,获取这些 URL 信息:

 
[root@fc3 nutch]# bin/nutch fetch $s1

之后需要更新数据库,把获取到的页面信息存入数据库中:

[root@fc3 nutch]# bin/nutch updatedb db $s1

进行链接分析(analyze: adjust database link-analysis scoring),深度这里设定为3 ,来决定下次 fetch 操作的优先权:

[root@fc3 nutch]# bin/nutch analyze db 3

创建新的 segment ,选择分值排在前 10 的URL(一个很小的子集)来进行第二次获取:

[root@fc3 nutch]# bin/nutch generate db segments -topN 10

把新的 segments 名字存到 $s2 变量中。

[root@fc3 nutch]# s2=`ls -d segments/2* | tail -1`
[root@fc3 nutch]# echo $s2
segments/20050104140654
[root@fc3 nutch]# echo $s1
segments/20050104135736
[root@fc3 nutch]# tree segments
segments
|-- 20050104135736
|   |-- content
|   |   |-- data
|   |   `-- index
|   |-- fetcher
|   |   |-- data
|   |   `-- index
|   |-- fetchlist
|   |   |-- data
|   |   `-- index
|   |-- parse_data
|   |   |-- data
|   |   `-- index
|   `-- parse_text
|       |-- data
|       `-- index
`-- 20050104140654
    `-- fetchlist
        |-- data
        `-- index

8 directories, 12 files
[root@fc3 nutch]# 

然后依样画葫芦,进行第二次获取,更新,以及分析:

[root@fc3 nutch]# bin/nutch fetch $s2
......
[root@fc3 nutch]# bin/nutch updatedb db $s2
......
[root@fc3 nutch]# bin/nutch analyze db 3
......

如法炮制,再来第三次:

[root@fc3 nutch]# bin/nutch generate db segments -topN 5
......
[root@fc3 nutch]# s3=`ls -d segments/2* | tail -1`
......
[root@fc3 nutch]# bin/nutch fetch $s3
......
[root@fc3 nutch]# bin/nutch updatedb db $s3
......
[root@fc3 nutch]# bin/nutch analyze db 3
......

创建索引并去掉重复的 URL

[root@fc3 nutch]# bin/nutch index $s1
......
[root@fc3 nutch]# bin/nutch index $s2
......
[root@fc3 nutch]# bin/nutch index $s3
......

去除重复页面:

[root@fc3 nutch]# bin/nutch dedup segments dedup.tmp

配置 Tomcat

[root@fc3 nutch]# rm -rf /opt/Tomcat/webapps/ROOT*
[root@fc3 nutch]# cp nutch*.war /opt/Tomcat/webapps/ROOT.war
[root@fc3 nutch]# cd /opt/Tomcat/webapps/
[root@fc3 webapps]# jar xvf ROOT.war
......
[root@fc3 nutch]# ../../opt/Tomcat/bin/catalina.sh start

注意:webapp 必须要在相对路径 ./segments 找到具体数据。否则在搜索的时候会报告如下异常信息:

java.lang.NullPointerException
   at net.nutch.searcher.NutchBean.init(NutchBean.java:82)
   at net.nutch.searcher.NutchBean.>init<(NutchBean.java:68)
   at net.nutch.searcher.NutchBean.>init<(NutchBean.java:58)
   at net.nutch.searcher.NutchBean.get(NutchBean.java:50)
   at org.apache.jsp.search_jsp._jspService(search_jsp.java:66)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)

搜索测试:

Nutch Whole Web Search Test

其他想法

Nutch 的机器人还不如其他商业搜索引擎的那样灵活(需要“喂"给它URL)。但是比较适合一些特定应用。比如 Grassland 这样的小型特性目的的搜索引擎,可以用 Nutch + Lucene 来比较完美的实现。单独做一个收集 URL (RSS ?)信息的工具,然后 Nutch 进行处理,Lucene 来实现更为完善的全文搜索功能。希望能看到越来越多的实际项目应用到 Nutch 。

参考信息

后记:

很多朋友都遇到 Nutch 0.6 输入中文会出现乱码的问题。这个问题其实和 Nutch 关系不大,主要原因是使用 Tomcat 5.0 的问题。解决办法是修改 Tomcat 的server.xml 文件的connnector:

  URIEncoding="UTF-8" useBodyEncodingForURI="true" /> 

黑色部分是需要添加的.之后乱码问题就解决了.

<script type="text/java script">

Nutch 初体验(转)

分类:搜索引擎专题

Nutch 初体验 ----转自DBA notes

前几天看到卢亮的 Larbin 一种高效的搜索引擎爬虫工具 一文提到 Nutch,很是感兴趣,但一直没有时间进行测试研究。趁着假期,先测试一下看看。用搜索引擎查找了一下,发现中文技术社区对 Larbin 的关注要远远大于 Nutch 。只有一年多前何东在他的竹笋炒肉中对 Nutch 进行了一下介绍

Nutch vs Lucene
Lucene 不是完整的应用程序,而是一个用于实现全文检索的软件库。
Nutch 是一个应用程序,可以以 Lucene 为基础实现搜索引擎应用。

Nutch vs GRUB
GRUB 是一个分布式搜索引擎(参考)。用户只能得到客户端工具(只有客户端是开源的),其目的在于利用用户的资源建立集中式的搜索引擎。
Nutch 是开源的,可以建立自己内部网的搜索引擎,也可以针对整个网络建立搜索引擎。自由(Free)而免费(Free)。

Nutch vs Larbin
"Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。[引自这里
Nutch 则还可以存储到数据库并建立索引。
Nutch Architecture.png
[引自这里

Nutch 的早期版本不支持中文搜索,而最新的版本(2004-Aug-04 发布了 0.5)已经做了很大的改进。相对先前的 0.4 版本,有 20 多项的改进,结构上也更具备扩展性。0.5 版经过测试,对中文搜索支持的也很好。

下面是我的测试过程。

前提条件(这里Linux 为例,如果是 Windows 参见手册):

  • Java 1.4.x 。因为我的系统上安装的Oracle 10g 已经有 Java 了。设定环境变量:NUTCH_JAVA_HOME 。

[root@fc3 ~]# export NUTCH_JAVA_HOME=/u01/app/oracle/product/10.1.0/db_1/jdk/jre

  • Tomcat 4.x 。从这里下载。
  • 足够的磁盘空间。我预留了 4G 的空间。

首先下载最新的稳定版:

[root@fc3 ~]# wget http://www.nutch.org/release/nutch-0.5.tar.gz

解压缩:

[root@fc3 ~]# tar -zxvf nutch-0.5.tar.gz
......
[root@fc3 ~]# mv nutch-0.5 nutch

测试一下 nutch 命令:

[root@fc3 nutch]# bin/nutch 
Usage: nutch COMMAND
where COMMAND is one of:
  crawl             one-step crawler for intranets
  admin             database administration, including creation
  inject            inject new urls into the database
  generate          generate new segments to fetch
  fetchlist         print the fetchlist of a segment
  fetch             fetch a segment's pages
  dump              dump a segment's pages
  index             run the indexer on a segment's fetcher output
  merge             merge several segment indexes
  dedup             remove duplicates from a set of segment indexes
  updatedb          update database from a segment's fetcher output
  mergesegs         merge multiple segments into a single segment
  readdb            examine arbitrary fields of the database
  analyze           adjust database link-analysis scoring
  server            run a search server
 or
  CLASSNAME         run the class named CLASSNAME
Most commands print help when invoked w/o parameters.
[root@fc3 nutch]# 

Nutch 的爬虫有两种方式

爬行企业内部网(Intranet crawling)。针对少数网站进行。用 crawl 命令。

爬行整个互联网。 使用低层的 inject, generate, fetchupdatedb 命令。具有更强的可控制性。

以本站(http://www.dbanotes.net)为例,先进行一下针对企业内部网的测试。

在 nutch 目录中创建一个包含该网站顶级网址的文件 urls ,包含如下内容:
http://www.dbanotes.net/

然后编辑conf/crawl-urlfilter.txt 文件,设定过滤信息,我这里只修改了MY.DOMAIN.NAME:

# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*.)*dbanotes.net/

运行如下命令开始抓取分析网站内容:

[root@fc3 nutch]# bin/nutch crawl urls -dir crawl.demo -depth 2 -threads 4 >& crawl.log

depth 参数指爬行的深度,这里处于测试的目的,选择深度为 2 ;
threads 参数指定并发的进程 这是设定为 4 ;

在该命令运行的过程中,可以从 crawl.log 中查看 nutch 的行为以及过程:

......
050102 200336 loading file:/u01/nutch/conf/nutch-site.xml
050102 200336 crawl started in: crawl.demo
050102 200336 rootUrlFile = urls
050102 200336 threads = 4
050102 200336 depth = 2
050102 200336 Created webdb at crawl.demo/db
......
050102 200336 loading file:/u01/nutch/conf/nutch-site.xml
050102 200336 crawl started in: crawl.demo
050102 200336 rootUrlFile = urls
050102 200336 threads = 4
050102 200336 depth = 2
050102 200336 Created webdb at crawl.demo/db
050102 200336 Starting URL processing
050102 200336 Using URL filter: net.nutch.net.RegexURLFilter
......                              
050102 200337 Plugins: looking in: /u01/nutch/plugins                 
050102 200337 parsing: /u01/nutch/plugins/parse-html/plugin.xml       
050102 200337 parsing: /u01/nutch/plugins/parse-pdf/plugin.xml        
050102 200337 parsing: /u01/nutch/plugins/parse-ext/plugin.xml        
050102 200337 parsing: /u01/nutch/plugins/parse-msword/plugin.xml     
050102 200337 parsing: /u01/nutch/plugins/query-site/plugin.xml       
050102 200337 parsing: /u01/nutch/plugins/protocol-http/plugin.xml    
050102 200337 parsing: /u01/nutch/plugins/creativecommons/plugin.xml
050102 200337 parsing: /u01/nutch/plugins/language-identifier/plugin.xml
050102 200337 parsing: /u01/nutch/plugins/query-basic/plugin.xml      
050102 200337 logging at INFO                                         
050102 200337 fetching http://www.dbanotes.net/                       
050102 200337 http.proxy.host = null                                  
050102 200337 http.proxy.port = 8080                                  
050102 200337 http.timeout = 10000                                    
050102 200337 http.content.limit = 65536                              
050102 200337 http.agent = NutchCVS/0.05 (Nutch; http://www.nutch.org/docs/en/bot.html; n
utch-agent@lists.sourceforge.net)
050102 200337 fetcher.server.delay = 1000                             
050102 200337 http.max.delays = 100                                   
050102 200338 http://www.dbanotes.net/: setting encoding to GB18030   
050102 200338 CC: found http://creativecommons.org/licenses/by-nc-sa/2.0/ in rdf of http:
//www.dbanotes.net/
050102 200338 CC: found text in http://www.dbanotes.net/              
050102 200338 status: 1 pages, 0 errors, 12445 bytes, 1067 ms         
050102 200338 status: 0.9372071 pages/s, 91.12142 kb/s, 12445.0 bytes/page
050102 200339 Updating crawl.demo/db                                  
050102 200339 Updating for crawl.demo/segments/20050102200336         
050102 200339 Finishing update                                        
                                                                       64,1           7%
050102 200337 parsing: /u01/nutch/plugins/query-basic/plugin.xml
050102 200337 logging at INFO
050102 200337 fetching http://www.dbanotes.net/
050102 200337 http.proxy.host = null
050102 200337 http.proxy.port = 8080
050102 200337 http.timeout = 10000
050102 200337 http.content.limit = 65536
050102 200337 http.agent = NutchCVS/0.05 (Nutch; http://www.nutch.org/docs/en/bot.html;
nutch-agent@lists.sourceforge.net)
050102 200337 fetcher.server.delay = 1000
050102 200337 http.max.delays = 100
......

之后配置 Tomcat (我的 tomcat 安装在 /opt/Tomcat) ,

[root@fc3 nutch]# rm -rf /opt/Tomcat/webapps/ROOT*
[root@fc3 nutch]# cp nutch*.war /opt/Tomcat/webapps/ROOT.war
[root@fc3 webapps]# cd /opt/Tomcat/webapps/
[root@fc3 webapps]# jar xvf ROOT.war
[root@fc3 webapps]# ../bin/catalina.sh start

浏览器中输入 http://localhost:8080 查看结果(远程查看需要将 localhost 换成相应的IP):

nutch web search interface.png

搜索测试:

nutch web search result.png

可以看到,Nutch 亦提供快照功能。下面进行中文搜索测试:

nutch web Chinese search result.png

注意结果中的那个“评分详解”,是个很有意思的功能(Nutch 具有一个链接分析模块),通过这些数据可以进一步理解该算法。

考虑到带宽的限制,暂时不对整个Web爬行的方式进行了测试了。值得一提的是,在测试的过程中,nutch 的爬行速度还是不错的(相对我的糟糕带宽)。

Nutch 目前还不支持 PDF(开发中,不够完善) 与 图片 等对象的搜索。中文分词技术还不够好,通过“评分详解”可看出,对中文,比如“数据库管理员”,是分成单独的字进行处理的。但作为一个开源搜索引擎软件,功能是可圈可点的。毕竟,主要开发者 Doug Cutting 就是开发 Lucene 的大牛

参考信息

<script type="text/java script">

混乱

分类:人生感悟

因为经历黑暗,所以黑暗。

卑劣,罗嗦,谄媚,愚蠢,狡猾,偷懒,疯狂,想终结一切。

所以只能比社会,比别人更黑。

Nutch 使用之锋芒初试(转载)

分类:搜索引擎专题

Nutch 使用之锋芒初试---转自琢思磋文轩
                           
  “工欲善其事,必先利其器。”经过前文的“
细解”,我们已经完成了Nutch在Windows中的安装。接下来就让我们通过锋芒初试,来亲自体验一下Nutch的强大功能吧!
   
  Nutch的爬虫抓取网页有两种方式,一种方式是Intranet Crawling,针对的是企业内部网或少量网站,使用的是crawl命令;另一种方式是Whole-web crawling,针对的是整个互联网,使用inject、generate、fetch和updatedb等更底层的命令。 本文将以使用Nutch为笔者在CSDN处的个人专栏(
http://blog.csdn.net/zjzcl)文章内容建立搜索功能为例,来讲述Intranet Crawling的基本使用方法(假设用户电脑系统已安装好JDK、Tomcat和Resin,并做过相应的环境配置)。
   
  1、设置Nutch的环境变量

  在Windows系统的环境变量设置中,增加NUTCH_JAVA_HOME变量,并将其值设为JDK的安装目录。比如笔者电脑中JDK安装于D:j2sdk1.4.2_09,因此将NUTCH_JAVA_HOME的值设为D:j2sdk1.4.2_09。
   
  2、Nutch抓取网站页面前的准备工作

  (1)在Nutch的安装目录中建立一个名为url.txt的文本文件,文件中写入要抓取网站的顶级网址,即要抓取的起始页。笔者在此文件中写入如下内容:
   
  
http://blog.csdn.net/zjzcl
   
  (2)编辑conf/crawl-urlfilter.txt文件,修改MY.DOMAIN.NAME部分:
   
  # accept hosts in MY.DOMAIN.NAME
  +^http://blog.csdn.net/zjzcl
   
  3、运行Crawl命令抓取网站内容
   
  双击电脑桌面上的Cygwin图标,在命令行窗口中输入:
   
  cd /cygdrive/i/nutch-0.7.1
   
  不明白此命令含义的读者请参见前《细解》一文,然后再输入:
   
  bin/nutch crawl url.txt -dir crawled -depth 3 -threads 4 >& crawl.log
   
  等待大约2分多钟后,程序运行结束。读者会发现在nutch-0.7.1目录下被创建了一个名为crawled的文件夹,同时还生成一个名为crawl.log的日志文件。利用这一日志文件,我们可以分析可能遇到的任何错误。另外,在上述命令的参数中,dir指定抓取内容所存放的目录,depth表示以要抓取网站顶级网址为起点的爬行深度,threads指定并发的线程数。
   
  4、使用Tomcat进行搜索测试
   
  (1)将tomcatwebapps下的ROOT文件夹名改成ROOT1;
  (2)将nutch-0.7.1目录的nutch-0.7.1.war复制到tomcatwebapps下,并将其改名为ROOT;

(3)打开ROOTWEB-INFclasses下的nutch-site.xml文件,修改成如下形式:
   
  <?xml version="1.0"?>
  <?xml-stylesheet type="text/xsl" href="nutch-conf.xsl"?>

  <!-- Put site-specific property overrides in this file. -->

  <nutch-conf>
   <property>
    <name>searcher.dir</name>
    <value>I:/nutch-0.7.1/crawled</value>
   </property>
  </nutch-conf>
 
  其中的“<value>I:/nutch-0.7.1/crawled</value>”部分,读者应根据自己的设置进行相应修改。

(4)启动Tomcat,打开浏览器在地址栏中输入:http://localhost:8080,如图1所示:


    
  在文本框中输入关键字,就可以进行搜索了。不过用户在使用时会发现,对于英文单词的搜索一切正常,而当要搜索中文词语时会出现乱码。其实这个问题是Tomcat设置的问题,解决办法是修改tomcatconf下的server.xml文件,将其中的Connector部分改成如下形式即可:

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
               URIEncoding="UTF-8" useBodyEncodingForURI="true" />

现在我们可以对中文词汇进行搜索了。如在搜索框中输入“李开复”,点击搜索按钮后,会搜索到笔者之前写的两篇文章《从李开复换门庭开启的缝隙中窥视——试探Google的几招成功“秘诀”》《从国内首例禽流感假疫苗大案说起——有感于李开复<做最好的自己>中的诚信观》,如图2所示:
    

   
  如果点击show all hits按钮,则会列出更多相关的搜索结果了。   
   
  5、使用Resin进行搜索测试
   
  由于笔者最近工作中经常使用Resin,因此在Tomcat上测试完毕后也想在Resin上测试一把,未曾想遇到了各种意想不到的情况。下面就将所遇到的问题以及解决方法列出,以供遇到相同问题的读者参考。
   
  (1)将nutch-0.7.1目录的nutch-0.7.1.war复制到resin-3.0.17webapps下;

(2)打开resin-3.0.17conf下的resin.conf文件,把
   
  <!-- configures the default host, matching any host name -->
   
  下面的内容改成:
   
  <host id="" root-directory=".">          
   <web-app id="/" document-directory="webapps/nutch-0.7.1"/>
   <stderr-log path='logs/stderr.log' rollover-period='1W'/>
   <stdout-log path='logs/stdout.log' rollover-period='1W'/>
  </host>

(3)打开resin-3.0.17webappsnutch-0.7.1WEB-INFclasses下的nutch-site.xml文件,修改成如下形式:
   
  <?xml version="1.0"?>
  <?xml-stylesheet type="text/xsl" href="nutch-conf.xsl"?>

  <!-- Put site-specific property overrides in this file. -->

  <nutch-conf>
   <property>
    <name>searcher.dir</name>
    <value>I:/nutch-0.7.1/crawled</value>
   </property>
  </nutch-conf>
 
  其中的“<value>I:/nutch-0.7.1/crawled</value>”部分,读者应根据自己的设置进行相应修改。

(4)启动Resin,打开浏览器在地址栏中输入http://localhost:8080后,在Nutch的搜索框中输入关键字,点击“搜索”按钮会出现如图3所示的错误。
 

 
  查看resin-3.0.17logs下的stdout.log文件,会发现报空指针的错误。查阅相关资料后才知,原来Resin没有使用Xerces作为其默认的XML解析器,而Nutch又恰好用到了Xerces,因此应该在Resin的配置文件中明确告之要使用Xerces。打开resin-3.0.17conf下的resin.conf文件,在<server>标签的上面加上两行内容:

<system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
  <system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>

同时,还要将tomcatcommonendorsed下的xercesImpl.jar、xmlParserAPIs.jar复制到resin-3.0.17lib目录中。重新启动Resin,打开http://localhost:8080并输入要搜索的关键字后,这时终于不再出现空指针错误了,但是却出现了如图4所示的错误。
    

    
  这个错误出得有些莫明其妙,同样的内容在Tomcat里安然无恙,但是在Resin中却会出现找不到/zh/include/footer.html文件的异常。没办法只好手工将resin-3.0.17webappsnutch-0.7.1include下的footer.html文件复制到resin-3.0.17webappsnutch-0.7.1zhinclude目录中。重启Resin进行搜索,终于又见到了久违的如前图2所示的搜索结果了。
   
  6、总结
   
  Nutch目前对中文分词的支持还不够完善,从测试的结果来看它是将中文词语分成单独的字进行处理的。但是瑕不掩瑜,作为一个开源的搜索引擎项目,Nutch的功能不仅可圈可点,而且从对它源代码的解读中可以使我们对搜索引擎的运行机理和相关算法有了更加深入的了解。此外,Nutch优秀的设计架构使得用户能够非常容易的开发自己的插件,以实现个性化的需求与功能。相信随着Nutch不断的改进和成熟,在不久的将来,基于Nutch的个人搜索引擎以及行业垂直搜索引擎会不断的涌现出来。



参考资料:
1、
Nutch tutorial
2、Getting Nutch Running With Windows
3、Getting Nutch Running With Resin  
4、
Nutch 初体验之二

Nutch在Windows中安装之细解(转载)

分类:搜索引擎专题

 Nutch在Windows中安装之细解--转自琢思磋文轩
   
  近来Nutch一词在网络中时有所见,但囿于平常工作繁忙而未能潜心细读与研究,只知道Nutch是Apache组织的一个开源项目,利用它用户可以建立自己内部网的搜索引擎,也可以建立针对整个网络的搜索引擎。好在春节假日期间,终于得空可以从容对其进行一番解读与测试了。在使用Nutch之前,当然是需要先对其进行安装了。用搜索引擎查找了一下相关内容,发现大部分关于Nutch如何安装的文章都是基于Linux的,而基于Windows安装的文章虽有,但非常简略。由于运行Nutch自带的脚本命令需要Linux的环境,所以必须首先安装Cygwin来模拟这种环境,而Cygwin本身的安装与使用也不是一件简单的事。下面,就让笔者对Nutch在Windows系统中的安装进行一番细解吧!
   
  1、安装Cygwin
   
  首先,我们去
http://www-inst.eecs.berkeley.edu/~instcd/iso/下载到Cygwin软件的ISO文件,用Daemon软件将其设为虚拟光驱后,双击其中的Setup文件,出现程序安装的向导界面(如图1所示)。
   
 
    
  点击“下一步”后,安装向导要求选择Cygwin的安装方式,如图2所示:
   

    
  图示中共有三种安装方式:
  (1)Install from Internet:从Internet上下载并安装软件;
  (2)Download Without Installing:从Internet上下载安装的文件,但暂时不安装;
  (3)Install from Local Directory:从本地含有安装文件的目录进行安装。
  我们选择第三项“Install from Local Directory”后,点击“下一步”,如图3所示:
   

    
  安装向导要求选择Cygwin的安装路径,我们可以在“Root Directory”文本框中更改安装路径,点击“下一步”,如图4所示:
   

            
  安装向导要求选择Cygwin安装文件所在的本地存储路径,可以在“Local Package Directory”中设置,点击“下一步”,如图5所示:
   

    
  安装向导显示出所要安装的内容列表,用户可以根据自己的实际需要来决定安装哪些程序。点击循环箭头图标后面的文字,可以更改安装的方式,常用的方式有Default(表示只安装缺省的安装项)、Install(表示安装全部程序,空间要求较大)、Reinstall(表示重新安装程序)。推荐选择“Install”方式,一步到位,以免后扰,不过用户应保证至少有2G以上的空间可供使用。点击“下一步”后,就开始正式的安装了(如图6所示)。
   

    
  最后出现如图7所示的窗口,点击“完成”后,Cygwin安装完毕。
   

    
  至此,笔者还要对Cygwin再多说几句。Cygwin是一个在Windows平台上模拟运行Unix的环境,用户可以通过它来熟悉与学习Unix系统的操作。对于Unix系统还不甚熟悉的读者可以参阅笔者之前写作的《
Unix操作系统的入门与基础》、《Unix的轻巧“约取而实得”》系列文章,下文中对涉及使用到的Unix命令将不再给予详细解释。
   
  2、安装Nutch
   
  去
http://mirror.vmmatrix.net/apache/lucene/nutch/下载到Nutch的最新版本,将其解压到指定目录中,如笔者是将其解压到I:nutch-0.7.1中。
   
  3、测试Nutch命令
   
  在运行Nutch的脚本命令前,需要设置一些环境变量。Cygwin提供了一个名为cygwin.bat的文件,通过它可以自动完成必需环境变量的设置。该文件可在cygwin所在的根目录下找到,感兴趣的读者还可通过UltraEdit等编辑器打开该文件一查究竟。其实Cygwin安装完成之后,会在Windows系统桌面生成一图标,如图8所示:
   

    
  此图标就是cygwin根目录下cygwin.bat文件的快捷方式,双击此图标将打开一类似DOS窗口。由于先前笔者将Nutch的压缩包解压至I:nutch-0.7.1中,故在此命令窗口中输入命令“cd /cygdrive/i/nutch-0.7.1”,读者可根据自己的安装路径进行相应的修改,然后使用命令“ls -l”可查看nutch-0.7.1中的所有子目录及文件信息。执行命令“bin/nutch”,如果读者能看到如图9所示的提示,那恭喜你,Nutch在Windows系统中的安装已经大功告成了!
   

    
  至于Nutch的使用,且待后续分解:)

 

参考文献:
  1、Getting Nutch Running With Windows

  2、Nutch 初体验  
  3、Nutch 于 winxp  
  4、Cygwin使用指南

一升的眼泪

分类:人生感悟

一升的眼泪,非常感人,本来前一阵子对日剧已经彻底失去信心了,不过最近看了两部还是很好的,人情味道很浓,似乎重新回到了以前的路子上,想想以前真的很经典的日剧,《追捕》,《东爱》,《美丽人生》,《电车男》,《野猪大改造》等等,相比这两年韩剧开始走下坡路,人们已经对韩式的恶搞,野蛮,煽情厌烦了,相反新式日剧开始走回以剧本,情节,演技取胜的老路上,这也是对影视剧最基本要求的回归,偏门是吃不长久的。

亚希确实坚强,也很幸运有一个好的家庭,有一群善良热心的朋友,并且遇到了一个不离不弃的男友,其间的家人的亲情,男友爱情的忠诚,都是让人感动和羡慕的,虽然她失去了很多,命运同时用另一种方式给了她补偿,真好的爱情啊,羡慕她,其实我也可以做到不离不弃的,可惜我没她那么好运,没能碰到如此忠贞的伴侣,所以,但是也没什么好抱怨的,因为毕竟太难得了,那种高尚的人,我虽然不是高尚,但是我会努力活的不卑微,我已经不再自怨自抑了,因为比起那些真正苦难的人,我的这点苦难简直就不值得一提了,虽然可能换到同龄人身上没几个人能受的了吧。

我会努力去帮助那些被命运玩弄的,需要别人关心和帮助的人,同时我仍然会努力拓展自己的事业,努力赚钱,不为自己,为了身边的人,能活的更好,然后有空闲的话,我会去做义工,帮助那些苦难的,残疾的,患病的,受歧视的弱势群体,不再对他们有和偏见,尽量温柔的帮助需要帮助的人。

即使不高尚,我也决不会卑贱。但对于那些垃圾,决不手软,战斗到底。

这是亚也最后的日记
diary 01 以花喻,花蕾般的我的人生。想要不悔恨地珍惜这青春的始端!
diary 02 妈妈!在我的心中有着一直相信我的妈妈存在!今后也请你多多关照了。总是惹您担心,对不起了!
diary 03 病魔…为什么选择了我?命运这样的字眼,是让人无法接受的!
diary 04 想要做出时间机器回到过去。如果没有得这种病,恋情也能成功吧?想要被人紧紧抱住,非常想!
diary 05 已经不说想要回到那天,我要承认现在的自己…生活下去
diary 06 虽然也会被无心的目光所刺伤,也明白了同样有温暖的目光。
diary 07 即便如此,我还是想待在这里。因为这里是…我所存在的地方!
diary 08 摔倒了又有什么呢?再站起来就可以了!摔倒的同时仰望天空,蓝蓝的天空今天也是广阔无边的微笑着……
diary 09 人不是活在过去的,做现在力所能及的事就可以了。
diary 10 妈妈…我能结婚吗?
diary 11 ぁりかとぅ…

未来5年最有发展潜力的搜索技术

分类:COMMERCE PLAN

1. 移动搜索

2. 垂直领域搜索 :金融 证券 股票 旅游 汽车 房地产等等高回报率的行业+专业的数据库+专家的指导意见+中国特色的国情。

3. 元搜索引擎

在可预见的5-10年内这样的公司会发展起来。

世界的游戏规则

分类:人生感悟

“这个世上的一切都是游戏,觉得自己输了而半途而废的家伙是笨蛋,一直生存到最后用心去享受游戏过程的家伙才是胜利者,这大概就是这个世界的规则吧!”

“野猪力量,注入”

野猪的真面目:

型男1号和2号

笑着活下去

分类:人生感悟

LIVE----LAUGH----FIGHT

笑着活下去。我默默的告诉自己,因为最近又开始有了想结束自己的念头,所以这样安慰一下自己。

很久没有更新BLOG了,懒惰自然是一方面,但是实在不想把这里作为自己的避风港了,难道只有经历过痛苦后才想到这里发泄一下,NO。

人气真是直线下滑啊,一哥们曾经质疑这个网站的统计是否不实,我也曾经这样想,怎么可能有那么高的访问量啊,不过经过这段时间后,由于我长期的不更新,导致没人访问,也验证了统计还是准确的,因为我的懒惰,导致大量读者的流失,虽然大部分人都是只看不回的,呵呵,无所谓,我不在乎。

06上半年经历了好多事,现在真是身心疲惫啊,谈了一场白天的恋爱,恩,曾经以为得到了幸福,呵呵,不可能的,因为我的命不会让我如此幸福的,不过我已经很感激了,毕竟这3个月是我觉得真的很快乐的,并且全身心投入的,头一次不这么自私,爱一个人,可惜,没能走到最后,虽然是遭到了背叛,但我不恨她,换了时别人,大概同样是会做同样的决定吧,暂时不想谈恋爱了,自己还是没能成熟些,不过真的是一次不错的经历那,谢谢你,我不知道自己现在是否能依然爱你,不过我肯定没有怨恨你。人只有失恋才能不断的成熟吧,所以暂时就这样一个人,继续走下去吧,虽然孤独,但是起码不会伤害任何人。

有时真的很颓废,讨厌这样的自己,完全没有斗志了,因为我无论我怎样努力都没有用吧只要是在现在的社会,恩,歧视,没有办法,有了想出国的念头,这是以前从来没有过的。

说实话我一直都认为只要努力是可以改变一些事的,不过看来是我错了,我是如此无力,什么也改变不了的。

我最大的错误就是以为自己可以比别人做的好些,可以通过努力改变一些人和一些事,事实证明,完全失败啊,呵呵,真是对我的人生观的一大嘲讽,总之,先混一段时间吧。

混蛋真多啊,这世界,看清了很多人,伤心。

什么亲情,爱情,友情,BOTH SHIT!干。

不过依然要,笑着活下去,不能死,现在还不行。

Little bird

分类:精彩推荐

有时候我觉得自己永远都吃不饱
也许只有吃的很多才能够长高
盼望能有一张迷人的相貌把所有人都迷倒
最后发现只有一种方法使用蒙汗药
长大之后无奈进入了社会我总是睡不着
我怀疑公司给别人的工资都比我高
总是努力学着对别人微笑难免也中他们圈套
偶尔上帝也会对我说失败很重要
我是一只只只~~~小鸟
因为吃的太多已经飞飞不高
我寻觅一颗栖息的树已被我压折了
这样的重量算不算太高
我是一只只只~~~小鸟
突然一天醒来有了迷人的美貌
麻雀也能飞上青天谁的歌声真美妙
美女的要求也不算太高

 背景音乐是小妹妹唱的这首小小鸟,太可爱的声音了


从好朋友的BLOG那里转来的,个人隐私,不便标注出处了!

很可爱的歌声,吼吼!!!!!

NEVER HEAVEN

分类:人生感悟

幸福如此短暂,在你还没有来得及品味时,它依然弃你而去,所以永远没有天堂,决不会抛弃你的只有永远都是残酷的现实!

NEVER HEAVEN

活着并不意味生存,死亡并不意味分离

对于自己的人生,我已然看得太清,

NEVER HEAVEN

也不会是地狱,永远都是玩笑,残酷的玩笑

我的错就是以为自己能改变些什么,能够比别人做的更好

满怀理想与憧憬,看到LOST HEAVEN 的美景,以为那就是天堂

不是,

NEVER HEAVEN

游戏的规则仍然是有筹码玩的起,GO ON

OR DESTROY ,DIE

离那还有多远?

HEART , COURGE ,KIND ,LOVE ,FAMILY, FRIENDS,NOTHING

NEVER HEAVEN  WAITING TO DIE ----------------------------

                       TO BE CONTINUED!

解决金山词霸不能鼠标取词问题的办法

分类:电脑应用宝典

1.杀毒软件,如Mcafee的问题(其实还是金山的问题,谁让你有缓冲区溢出的潜在问题)。
   解决方法:关掉缓冲区溢出保护(没太大问题)。
 
2.金山安装所在文件夹或用户名是中文,这会在一定情况下导致鼠标取词不可用。
 解决方法:改成英文,英文不好改成拼音。不会拼音?那数字你总认识吧?
 
3.在XP SP2或2003 server中,由于启用了数据执行保护(DEP)功能,使得金山不能取词。(我的真正毛病在此)
 解决方法:我的电脑(鼠标右键)——〉属性——〉高级——〉性能(设置)——〉数据执行保护——〉选择除此之外的所有程序启用选项——〉选添加:加入金山词霸的主文件xdict,重启启动计算机。
 
4.某个系统服务的关闭导致不能鼠标取词。据说是DCOM 服务器进程启动器这一项,就是它属于金山词霸取词技术关联的系统服务。
解决方法:我的电脑(鼠标右键)——〉管理——〉服务和应用程序——〉找到OM 服务器进程启动器,把它设为自动,重新启动计算机。
 
5.金山的bug。
解决方法:到http://support.kingsoft.com,下载一个  XdictGrb.dll 文件就可以解决 ,将下载的文件 xdictgrb.dll替换词霸安装目录下的同名文件即可。

沉睡森林---SLEEPING FOREST

分类:森林布告

 

(抒情了一把,当我梦呓)

沉睡的森林,这世界是有那样的吗?大概是有的。可不可以住在里面,不再出来
默默被守候的人呢——总感觉像童话或是惊悚片,阿,也许本来就是吧……

光穿过叶子化成绿色光影
一束一束晕散的绿光,梦境一样的世界

破碎地浮现着微笑

是小时候捉红蜻蜓的森林吗?

真实地包围在身边——但
不要感到害怕,这里一片一片宁静,宁静上面撒满光,也没有露珠
积叶下的泥土里,有埋藏着的年少记忆

可以用铲子挖开来看一看,但记得要藏回去哦
白色的吊床挂在这里,躺在上面等待吧,没有人呼唤,就不要醒来
呐,走出去的话,做任何想做的事……


我十分卑鄙的从别人的博客那里转来的,虽然我很像厚颜无耻的将此文和此图霸为己出,不过我的良心还是没能允许!转自shirley沉睡森林.

喜欢此文喜欢此图,不过我写不出来,而且也没有专心搜集过如此好的沉睡森林的图片,亏对我自己的博客名字还用的沉睡森林,呵呵,惭愧,惭愧!

PS:我以后得好好注意版权问题了,有时从别人的博客转文章,一时犯懒就没有表明出处,不过我还是挺有良心的写上了(转),其实这也不能全怪我,因为有时他们也是转的,并且没有表明出处,像我这种3倒贩子更没那个耐心去查询出处了,希望以后从我的博客转文章的朋友能够表明出处哈,记得写上转自沉睡森林,我会十分感激的!

决定此文置顶一周,大家来看新文章记得往下面拉拉撒,不是我没有更新,是你没注意罢了,吼吼,.呵呵~~~

专业的黑客搜索网站

分类:搜索引擎专题

有自己独立的搜索引擎和服务器,没有使用Google和baidu的搜索结果,用站长的话来说,“用别人的结果就不叫搜索了,叫查询 “。大家试试看吧,效果如何,用过才知道。
 hackso.BMP
黑客搜索网址: 点击进入

更多日志..

统计

统计中,请等候...

统计中,请等候...

我的音频

上一首播放暂停下一首停止减小音量静音增大音量

    最新评论