solr学习之(三)_访问solr4.2的browse页面

   solr的参考书《Apache Solr 3 Enterprise Search Server》的24页讲到the sample browse Interface,而且还给了张很酷的图。

这个功能在solr中是实现了的。但是按照书上说的网址http://localhost:8983/solr/browse访问则报错,lazy loading error

我参照网上的博客,自己配置了一下,也是纠结了好几天才弄好。把详细过程记录下来。

首先说明,我用的相关工具为:win7(32位旗舰版) + Tomcat6.0 + solr 4.2.0

Tomcat6.0的安装目录为:D:\Tomcat6.0请注意没有空格,配置的端口为:8983

第一步:在D盘的根目录下建立文件夹xh_solr ,xh_solr目录下建立两个目录:apache-solr-4.2tomcat-solr。然后把solr- 4.2.0 .zip解压缩文件中solr-4.2.0\dist目录中的solr-4.2.0.war文件复制到D:\xh_solr\apache-solr-4.2目录下,把solr- 4.2.0 .zip解压缩文件中solr-4.2.0\example目录下的solr文件夹复制到D:\xh_solr\tomcat-solr目录下。

第二步:修改tomcat的配置。

D:\Tomcat6.0\conf目录下建立:Catalina\localhost\solr.xml目录及文件。Solr.xml文件的内容如下:

  
  
  
  
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <Context docBase="D:\xh_solr\apache-solr-4.2\solr-4.2.0.war" debug="0" crossContext="true" > 
  3. <Environment name="solr/home" type="java.lang.String" 
  4. value="D:\xh_solr\tomcat-solr\solr" override="true" /> 
  5. </Context> 

第三步:启动Tomcat。如果配置正常,Tomcat启动后,在D:\Tomcat6.0\webapps目录下会自动生成solr文件夹。其实就是把D:\xh_solr\apache-solr-4.2\solr- 4.2.0 .war解压到了D:\Tomcat6.0\webapps目录。打开浏览器,输入:localhost:8983/solr则会进入我们熟悉的solr主页了。

第四步:在D:\xh_solr目录下建立webapps目录,并把D:\Tomcat6.0\webapps目录下的solr文件夹剪切D:\xh_solr\webapps目录下。(剪切前需要stop tomcat)。然后删除D:\Tomcat6.0\conf目录下的Catalina目录。

第五步:配置D:\Tomcat6.0\conf目录下的server.xml。在<Host>节点下加入:

  
  
  
  
  1. <Host> 
  2.   …… 
  3.  <Context path="" docBase="D:\xh_solr\webapps\solr" debug="0"/> 
  4. </Host> 

然后配置D:\xh_solr\webapps\solr\WEB-INF目录的web.xml文件,配置solr/home的路径:去掉web.xml的第40行到第46行的注释。如下:

  
  
  
  
  1. <env-entry> 
  2.     <env-entry-name>solr/home</env-entry-name> 
  3.        <env-entry-value>/put/your/solr/home/here</env-entry-value> 
  4.        <env-entry-type>java.lang.String</env-entry-type> 
  5.  </env-entry> 

然后将其改为:

  
  
  
  
  1. <env-entry> 
  2.    <env-entry-name>solr/home</env-entry-name> 
  3.    <env-entry-value>D:\xh_solr\tomcat-solr\solr</env-entry-value> 
  4.    <env-entry-type>java.lang.String</env-entry-type> 
  5. </env-entry> 

然后启动Tomcat,如果配置成功,则不在浏览器中输入http://127.0.0.1:8983/就可以访问到solr的主页面了(注意不再是localhost)。

此时,我们访问:http://127.0.0.1:8983/browse 会报如下的错误:

错误页面还是很壮观的。这是为什么呢?其原因在于相关jar包路径有错误。解决方法也不难。

第六步:把solr- 4.2.0 .zip解压缩目录下的solr-4.2.0/dist目录和solr-4.2.0/contrib目录复制到D:\xh_solr\tomcat-solr\solr\bin目录下。然后配置:D:\xh_solr\tomcat-solr\solr\collection1\

conf\solrconfig.xml文件:把solrconfig.xml文件下的7282行的内容修改如下:

  
  
  
  
  1. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/contrib/extraction/lib" regex=".*\.jar" /> 
  2. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/dist/" regex="solr-cell-\d.*\.jar" /> 
  3. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/contrib/clustering/lib/" regex=".*\.jar" /> 
  4. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/dist/" regex="solr-clustering-\d.*\.jar" /> 
  5. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/contrib/langid/lib/" regex=".*\.jar" /> 
  6. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/dist/" regex="solr-langid-\d.*\.jar" /> 
  7. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/contrib/velocity/lib" regex=".*\.jar" /> 
  8. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/dist/" regex="solr-velocity-\d.*\.jar" /> 
  9. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />  
  10. <lib dir="D:/xh_solr/tomcat-solr/solr/bin/contrib/dataimporthandler/lib/" regex=".*\.jar" /> 

这时,我们再在浏览器中输入http://127.0.0.1:8983/browse,会发现没有报错了。但是显示的内容没有样式了。把D:\Tomcat6.0\conf\servler.xml修改如下:      

  
  
  
  
  1. <Host> 
  2.     …… 
  3.  <Context path="/solr" docBase="D:\xh_solr\webapps\solr" debug="0"/> 
  4. </Host> 

然后输入:http://127.0.0.1:8983/solr/browse,则显示正常了。

但是还是跟书本上说的不一样:没有数据。这就需要我们导入数据。将目录转到solr- 4.2.0 的解压目录solr-4.2.0\example\exampledocs下,在我的电脑上此目录为:E:\OpenSourceForJava\solr-4.2.0\example\exampledocs。然后按住shift键,鼠标点右键:选择“在此处打开命令窗口”选择项。

然后在打开的命令窗口输入命令:java -jar post.jar *.xml。命令正确执行如下图:

然后在刷新浏览器的页面:显示如下图:

我们可以在里面输入ipod关键字,则图片显示如文章开始时附上的第一张酷酷的图片了。好了,任务完成。

 致谢:Tomcat下部署Solr Example(http://chenzehe.iteye.com/blog/1503280)。如果没有这篇博客,我至少不会很容易地配置出the solr browse interface.

你可能感兴趣的:(tomcat,error,Solr,Solr,loading,lazy,solr4.2,Browse)