Solr安装(1)

2019-03-27 01:04|来源: 网路

Solr是一个基于Lucene java库的企业级搜索服务器,本文记录了solr的安装过程,版本为最新的1.4.1。

1) 下载

    从solr的官网http://lucene.apache.org/solr/找到最新的版本1.4.1.

    解开下载的apache-solr-1.4.1.zip或apache-solr-1.4.1.tgz文件到apache-solr-1.4.1目录.


2) 简易安装

    solr的发布包中包含一些example,为了方便的运行这些example,solr的发布包中还额外的附带了jetty以便我们可以快速的搭建一个可运行的solr实例。

    因为一切都是现成的,因此过程就很简单了, 参考solr的教程(http://lucene.apache.org/solr/tutorial.html), 步骤如下:

1. cd apache-solr-1.4.1/example
2. java -jar start.jar
3. 打开浏览器访问 access http://localhost:8983/solr/admin/ 

     如果可以看到solr的搜索页面,说明solr正常运行。足够简单吧。--到这里只是最简单的Solr的安装,先体验一把。

3) 标准安装

    上面的简易安装方式终究不能运用于正式场合,因此还是需要标准安装方式。

    solr的安装其实需要做的事情不多,因为本身就只需要运行起来是一个打包好的war包,只要配置OK就可以运行于各个web container。

    通用的solr安装步骤如下:

1. 准备好web container 如tomcat, jetty, resin等--这里使用的是Tomcat6.0
注意安装前先停止web container服务器。

2. 从上面解压好的solr发布包中找到example\solr目录
这个目录可以用来作为配置solr的模板使用
将example\solr目录复制到其他路径,如C:\soft\solr,以后这个目录就将作为solr home使用

注意有个文件需要修改一下,$SOLR_HOME/conf/solrconfig.xml,找到dataDir设置:

默认为<dataDir>${solr.data.dir:./solr}</dataDir>,用的是相对路径,这个需要修改为完整路径:

<dataDir>${solr.data.dir:C:\soft\solr\data}</dataDir>

3. 从上面解压好的solr发布包中找到solr的war包
apache-solr-1.4.1/dist/apache-solr-1.4.1.war (注意:这里的war读取路径)
可以将这个war复制到solr home目录下

4. 启动web container
启动时有两个东西需要做到:

4.1. 要运行的solr的webapp
可以通过直接复制solr的war包到webapp目录,也可以通过其他方式指定这个war的路径
总之是让web container启动solr这个应用。

4.2. 要指明solr home(这里具体的操作方法参见下面4)部分)
方式有3种:
1. 设置java 的系统参数solr.solr.home(应该是solr.home,但是官网就是写成solr.solr.home)
如 -Dsolr.solr.home=C:\soft\solr
2. 设置JNDI lookup "java:comp/env/solr/home"
3. 默认为./solr目录,即当前工作路径下的solr
由于工作路径容易造成问题,因此一般不推荐这种方式。


5. 访问solr的管理页面来验证安装是否完成

    上述步骤中其他步骤都简单,只有步骤4需要额外注意。虽然原则上都是这些内容,但是具体到不同的web container会有不同的方法。
 
    下面以tomcat和jetty为例,假定步骤1,2,3都已经完成。

4) 安装于tomcat

    以下内容参考官网文档 http://wiki.apache.org/solr/SolrTomcat.  

    1. 修改tomcat的server.xml文件

主要是修改监听端口,另外需要设置URIEncoding为UTF-8。

    <Connector port=" 8983" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8" /> (说明:这里一定要指定是UTF-8格式,否则中文分词的时候会出现乱码)

    2. 增加tomcat\conf\Catalina\localhost\solr.xml文件

内容为:

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="C:\soft\solr\apache-solr-1.4.1.war" debug="0" crossContext="true">
  <Environment name="solr/home" type="java.lang.String" value="C:\soft\solr" override="true"/>
</Context>

    步骤4就完成了,使用的tomcat版本为6.28。这里要注意修改对应的$Solr_home的路径。

  

安装完毕,可以通过http://localhost: 8983/solr/admin来访问了



5) 安装于jetty(以下斜体部分未实验)

    以下内容参考官网文档 http://wiki.apache.org/solr/SolrJetty, 但是坦白说,这个文档的内容有点凌乱。

    jetty安装完成后,只需一个步骤,增加文件jetty\contexts\solr.xml,内容如下:


<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

<Configure class="org.mortbay.jetty.webapp.WebAppContext">
  <Set name="contextPath">/solr</Set>
  <Set name="war">C:\soft\solr\apache-solr-1.4.1.war</Set>

  <Set name="extractWAR">true</Set>
  <Set name="copyWebDir">false</Set>
  <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>

  <Array id="plusConfig" type="java.lang.String">
    <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
    <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
    <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
  </Array>

  <Set name="ConfigurationClasses"><Ref id="plusConfig"/></Set>

  <New class="org.mortbay.jetty.plus.naming.EnvEntry">
    <Arg>/solr/home</Arg>
    <Arg type="java.lang.String">C:\soft\solr</Arg>
    <Arg type="java.lang.Boolean">true</Arg>
  </New>

</Configure>

    主要是指定contextPath/war, 另外设置"/solr/home",注意jetty下是"/solr/home",不是"solr/home"。这里有点奇怪。

    时间有限,其他webcontainer就不一一测试了,相信原理都是一样的。

转自:http://www.cnblogs.com/SingleCat/archive/2010/08/18/1802164

相关问答

更多
  • 需要的。   首先你要去Solr官网下载Solr5.x的zip压缩包,至于怎么下载我这里就不赘述, ,唯一要注意的是如果你是在linux环境下,请下载tgz包而不是zip包,特此提醒! 解压solr-5.1.0.zip到任意盘符,   复制solr.war到tomcat的webapps目录下,   启动tomcat   然后修改webapps\solr\WEB-INF下的web.xml配置文件,   配置solr_home目录路径,   然后我们需要去C盘创建一个solr_home文件夹,这就是我们SOLR ...
  • 如果您尝试自行下载存档,则需要安装phpize。 如果您安装了phpize ,请手动执行此操作: pecl download solr-beta tar xvzf solr-2.0.0.tgz cd solr-2.0.0 phpize ./configure make sudo make install # add extension=solr.so to your php.ini / distribution extension loader ..这应该与pecl install solr-beta , ...
  • 我会建议遵循官方指南 ,它有相当多的细节。 关于Tomcat的东西,它并没有过时,推荐的方法是在Jetty上运行Solr。 关于随时将Solr作为服务运行, 如果您正在运行Windows,则可以通过运行bin\solr.cmd来启动Solr。这将在后台启动Solr,并监听端口8983。 有关如何启动Solr的更多示例 - https://lucene.apache.org/solr/guide/7_2/solr-control-script-reference.html#starting-and-stopp ...
  • 如果您在Ubuntu服务器上的Tomcat中运行Solr,并且已经将Solr WAR部署到/webapps文件夹/webapps 。 然后,根据Solr Wiki上的Lucene / Solr 4 Spatial文档,您只需将JTS distribution /lib文件夹中的所有jar文件复制到运行Solr的WEB-INF/lib文件夹。 更新 由于您使用Jetty运行Solr,因此您需要将JTS jar文件的位置包含为类路径。 基于Clas ...
  • solr版本的问题。 我安装了4.6版而不是4.4版。 problem with solr version. i installed 4.6 version instead of 4.4.
  • 我不确定,这会对您有所帮助,但请在SolrCloud 5和Zookeeper配置上传中进行交叉检查 可以使用的某些命令如下。 使用所有conf文件创建conf目录 从其中一个节点/opt/myname/solr-5.2.1/bin/solr create -c my_collection -d /opt/myname/solr-5.2.1/server/solr/myconf/conf -n my_colln_cfg -shards运行2 -relicationFactor 2 其他一些有用的链接如下:ht ...
  • 去Solr 4.10.x. 你会省去很多麻烦。 Solr 5.x中没有太多新东西对Sitecore应用程序有益。 我不确定bitnami安装程序,但据我所知,Sitecore最受欢迎的Solr版本之一是Solr 4.10.4 。 您可以从http://archive.apache.org/dist/lucene/solr/下载它 Go for Solr 4.10.x. You will save a lot of troubles. And there is not much new in Solr 5.x ...
  • 它正在使用Jetty,但未来可能不会(因为当您不必考虑围绕您的服务的webapp框架时,有很多事情变得更容易实现)。 这就是为什么5.0明确支持在现有容器中运行(它仍然可以完成 - 但你是独立的,功能可能会中断)。 至少现在可以假定应用程序的环境是某个容器并具有特定的功能集。 It's using Jetty, but it might not in the future (as there are quite a few things that gets easier to implement when ...
  • 当您以Solr用户身份运行时,必须让solr用户访问您要编写配置的目录。 如果这是/opt/solr ,则可以通过发出chown命令递归地更改目录的所有者和所有包含的文件: chown -R solr.solr /opt/solr 这假设您的系统上还有一个名为solr的组。 如果您没有solr组,请使用另一个合适的组,或将最后一个.solr保留在命令之外。 When you're running as the Solr user, you'll have to give the solr user acc ...
  • 这是因为您的Java版本可能太旧了。 几个月前我基本上问了同样的问题。 Debian - Solr无法启动,日志文件被删除 This is because your Java version is probably too old. I basically asked the same question a couple of months ago. Debian - Solr doesn't start and log file is getting deleted