由于工作原因,这段时间接触到solr,一个基于lucene的企业级搜索引擎。不怎么了解它的童鞋可以去GOOGLE一下。
下面开始正题:
1)要开始solr的学习,首先当然是要下载它啦(这是一句废话),可以到http://www.apache.org/dyn/closer.cgi/lucene/solr/这里去下载,最新的是1.4.1(现在已经是3.4了,但依然适用)。下完后当然要解压啦(这也是废话)。我们看到它的结构是这样的。
相信搞JAVA的同志们应该都大概了解对应的文件夹的意思啦,在dist里面是它的一些JAR包,当中包含了一个war包,这个是我们做例子时用到的项目。直接把它丢到tomcat的webapps里面去。
example目录里面有一些solr的索引数据,它自带了一个jetty方便运行,可以直接运行java -jar start.jar就可以运行jetty,但jetty的默认端口是8983,这个是跟tomcat不同的地方,要注意啦。
2)搞定了这些之后,那么我们应该继续来试运行一下这个东西啦。solr最重要的东西就是solr home,这个东西指定了solr建立的索引文件的存放位置。不知道是什么东西,可以先不用管它,一步步来也许就会明白了。
进到tomcat文件夹conf\Catalina\localhost这个文件夹内,建立一个solr.xml(其实名字是随便的,这里起的名字跟以后访问的项目名字一致,不过为了好找,还是跟部署的项目名一样吧),这里面的内容呢,其实很简单,就和下面类似:
<Context docBase="D:/server/apache-tomcat-6.0.32/webapps/apache-solr-1.4.1.war" reloadable="true">
<Environment name="solr/home" type="java.lang.String" value="E:/framework/libPack/apache-solr-1.4.1/example/solr" override="true"/>
</Context>
这个Context相信大家都知道罗,它是指定了war包的位置,当启动tomcat后它会自动被部署到webapps目录下,这也是eclipse所集成tomcat用的部署方式。而reloadable="true"则表明可以重新加载,即当这个部署内容改变时,它会自动进行加载。
下面的solr/home是重点啦,type是固定的,先不管,value指定的就是它用的索引目录。override当然就是覆盖啦,如果存在则覆盖。
这个solr/home其实在solr的下载包中已经带有一个,我们可以找到solr目录下的example/solr这个目录,下面就是我们所说的solr/home,其实当中最重要的还是config目录下的solrconfig.xml,这个是solr的主要配置文件,可以在里面找到<dataDir>${solr.data.dir:./solr/data}</dataDir>这样一句,它指定了索引记录放置的位置,我们启动tomcat后它会在我们当前的目录下生成solr/data文件夹,里面就是索引文件。如果我们从tomcat的bin启动,那么它会在bin目录下生成solr/data文件夹,可以根据自己需要进行修改,只要把./solr/data改成想让它放在目录就可以了。
这样配置完成后,我们启动tomcat之后在浏览器输入http://localhost:8080/solr/admin就可以看到solr的管理界面啦。
这样我们的配置就大功告成了。