Now . Or Never ``

if you stay , you will always here.

搜索引擎的原理简介

一、搜索引擎的原理简介

1.一个抓网络页面程序

  www中的各网站的内容抓到本地

2.一个文件解析工具

  把抓下来的htmldoc等源文件处理为更精确的格式文本

3.一个全文检索、分词、数据挖掘,解析文本,把数据抓到结构化数据库中

  可以采取工具软件,未必要自己写。数据库可以是文件数据库。

4.开发一个搜索页面,从数据库里查询关键字

  对查询关键字,进行一些逻辑处理。然后返回名称和url到页面。

 

二、LuceneNutch简介

Java开源社区,lucene是一个成熟完整的搜索包。http://lucene.apache.org/

nutch是基于lucene的一个完整的搜索引擎,包括了上述4个方面。即适合入门,也适合在这个上面做二次开发。http://lucene.apache.org/nutch/

 

三、下载

http://lucene.apache.org/nutch/release/上下载nutch0.8.x版本

下载cygwin,一个在windows下模拟Linux的嵌入式系统,http://www.cygwin.com/

Luke,读取索引文件的工具,http://www.getopt.org/luke/

JDK1.4.X,但估计1.5.X也可以

Tomcat

 

安装也可参考http://hi.baidu.com/xproduct/blog/item/f8d46e31e2f51d1bebc4afdf.html等文档

 

四、安装

根据http://lucene.apache.org/nutch/tutorial8.html 这个来安装。步骤比较简单。

参考Intranet Crawling部分。

只是有几个需要注意:

1.       建立urls文件

nutch/bin目录下,建立urls目录,在urls目录下,建立nutch文件,里面设置搜索的站点起始位,如加入:

http://lucene.apache.org/nutch/

 

2.       conf/nutch-site.xml文件的http.agent.name,一定要定义值

<property>

  <name>http.agent.name</name>

  <value></value>///这里一定要定义

</property >

如果报NullPointerExceptionnutch-default.xml里面的http.agent.name也要定义。

nutch-site.xml里,还要定义搜索目录,即抓下来的程序放置的地方。

    <property>

          <name>searcher.dir</name>

          <value>D:/website</value>

    </property>

3.       运行命令

cygwin里运行,或者把cygwin/bin目录加到path里,直接在command窗口运行

   运行命令,要通过bash跑,比如tutorial8.html的命令是

   bin/nutch crawl urls -dir crawl -depth 3 -topN 50

   windows下,要这么跑

   bash bin/nutch crawl urls -dir crawl -depth 3 -topN 50

 

4.配置Tomcat

  nutch-0.8.1.war复制到Tomcat下的webapps里,启动Tomcat,会自动deploy

  再关闭Tomcat,把nutch-0.8.1.war文件拿走。

  webapps/nutch-0.8.1目录下的WEB-INF/classes里的nutch-site.xml里,增加搜索的目录

    <property>

          <name>searcher.dir</name>

          <value>D:/website</value>

    </property>

 

  为了支持中文,在apache-tomcat-6.0.14/confserver.xml里的

<Connector port="8080" protocol="HTTP/1.1" 里面,增加

URIEncoding="UTF-8" useBodyEncodingForURI="true"配置,

最后如:

    <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443"

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

 

重启Tomcat,可以通过http://localhost:8081/nutch-0.8.1/访问到搜索引擎了

 

5. Luke

  JRE打开lukeall-0.7.1.jar,选择下载的目录的index,如D:/website/index,打开

  就可以图形化查看索引数据库,如关键字,还可以查询。

  具体参考Luke的图示

阅读更多
个人分类: Nutch
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭