我在安装Apache Solr时遇到困难。我下载的最新版本是4.6.0。但是所有Drupal文档和教程(请参阅http://www.youtube.com/watch?v=ori-VvvH1Aw)都在谈论3.5.0。虽然在互联网上找不到3.5.0,但是4.6.0具有完全不同的目录结构,并且没有有关如何在服务器或本地WAMP上安装此最新版本的文档。没有提到最建议将哪个Apache Solr版本与Drupal一起使用?有什么帮助吗?
我在安装Apache Solr时遇到困难。我下载的最新版本是4.6.0。但是所有Drupal文档和教程(请参阅http://www.youtube.com/watch?v=ori-VvvH1Aw)都在谈论3.5.0。虽然在互联网上找不到3.5.0,但是4.6.0具有完全不同的目录结构,并且没有有关如何在服务器或本地WAMP上安装此最新版本的文档。没有提到最建议将哪个Apache Solr版本与Drupal一起使用?有什么帮助吗?
Answers:
在我真正理解所有这些之前,您并不孤单,我不得不搜寻互联网并阅读几篇文章。我尝试了三种不同的方法,直到最终正确!
如果您使用的是Debian / Ubuntu(与Tomcat7一起使用),则比大多数概述要容易得多。我更喜欢Lullabot,因为当您通过Ubuntu安装它时,它实际上是一项服务,而且不太麻烦:)
apt-get install java7-jdk
apt-get install tomcat7 tomcat7-admin
完成此操作后,您便可以看到http://localhost:8080
并正常运行。
注意:由于8080很常见,因此建议将端口推到另一个端口。如果您想这样做,请使用此代码!
sudo sed -i s/8080/8983/g /var/lib/tomcat7/conf/server.xml
您将需要实际为Tomcat创建一个用户帐户,以便其他人必须登录到admin(这使其更安全)。
nano /var/lib/tomcat7/conf/tomcat-users.xml
然后在<tomcat-users>
标签之间添加这些xml参数
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="!!somename!!" password="!!somepassword!!" roles="manager-gui,admin-gui"/>
现在,您可以再次重新启动tomcat并在以下位置查看管理页面 http://localhost:8983/manager/html
service tomcat7 restart
在这里下载最新的ApacheSolr(当我写这篇文章时,我就使用了4.7)
将文件解压缩到目录中
接下来,我们要将库文件添加到Tomcat库目录。注意:如果愿意,也可以使用符号链接,但是出于了解所有内容的目的,我选择将其直接放置在目录中
cp ~/solr-4.x.x/example/lib/ext/* /usr/share/tomcat7/lib/
也可以从solr / dist / solrrj-lib / *复制Java库是一个好主意
cp ~/solr-4.x.x/dist/solrj-lib/* /usr/local/tomcat7/lib/
cp ~/solr-4.x.x/dist/solr-4.x.x.war /var/lib/tomcat7/webapps/solr.war
我们首先需要从ApacheSolr复制示例配置文件。
mkdir -p /var/lib/tomcat7/solr
cp -r ~/solr-4.x.x/example/solr/collection1/conf /var/lib/tomcat7/solr/
接下来,获取最新版本的apachesolr模块https://drupal.org/project/apachesolr并将其解压缩
tar xvf apachesolr-*.tar.gz
与solr配置同步apachesolr配置文件(用于Drupal)
rsync -av apachesolr/solr-conf/solr-4.x/ /var/lib/tomcat7/solr/conf/
注意:我发现一个错误,其中ApacheSolr由于重复错误而拒绝启动。我在这里报告过,所以您可能希望在这里查看解决方案,因为在撰写本文时,如果没有它我将无法运行它!
创建一个核心定义文件以告诉Apache Solr哪些核心可用。
nano /var/lib/tomcat7/solr/solr.xml
将以下代码粘贴到该文件中
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
<cores adminPath="/admin/cores">
<core name="!!yourcorename!!" instanceDir="!!yourcoredir!!" />
</cores>
</solr>
这将使用该名称在您的系统中创建一个新内核。如果您想添加更多内容,则只需重复上述步骤即可。
mkdir /var/lib/tomcat7/solr/!!yourcoredir!!
cp -r /var/lib/tomcat7/solr/conf /var/lib/tomcat7/solr/!!yourcoredir!!/
最后一站!让tomcat7入睡
service tomcat7 stop
现在更改tomcat目录上的权限
chown -R tomcat7:tomcat7 /var/lib/tomcat7
备份开始
service tomcat7 start
您应该能够http://localhost:8983/solr
看到一个新的核心实例!现在,您可以继续进行配置,并配置drupal来指出这一点。
注意:您的新内核位于,http://localhost:8983/solr/!!yourcorename!!
将在Drupal ApacheSolr模块中使用。
信誉和道具归Pacoup所有
已在发行队列中讨论了对Solr 4的更改:https : //drupal.org/node/1676224
该问题包含许多指向沙箱网站和教程的链接。
这是Drupal社区文档(在Tomcat上安装Solr)中描述的方式:
本演练假定您已经安装了Tomcat。如果您不这样做,仅使用WHM并将其安装在那里并重建apache可能会更容易。我要说的就是点击。
一旦安装了Tomcat,就可以通过以下方式验证其安装:
domain.com:8080
您应该看到默认的Tomcat页面。如果不是,请寻求帮助。如果您不这样做,那么您会伤害到同一问题的下一个人。如果我们不想提供帮助,那么我们就不会开源。
下载您的Solr副本。如果您不知道从何处获得它,请使用Google。
为了使现在和将来变得更轻松,请找到您的Tomcat安装
$ locate tomcat
创建一个软链接,如下所示:
ln -s /my/tomcat/location /tomcat
如果您做对了,您应该能够
$ /tomcat
在sshd中并进入您的目录。
我将使用
/lib
目录作为示例。如果您没有,请使用mkdir /lib
命令创建它。
将Solr提取到临时位置,就我而言,我只是从Solr镜像中获取了zip文件。
$ unzip apache-solr-1.4.1.zip /lib/
建立你的Solr
$ cd /lib/solr $ ant dist (you should see it building something.)
重命名您的war文件,以方便使用。
$ cd /lib/apache-solr-1.4.1 $ cd dist $ mv apache-solr-1.4.1.war solr.war (this just renames it without asking you) $ dir (check to make sure it worked. you should see solr.war)
复制
solr.war
到/lib/solr/example
$ cp solr.war /lib/solr/example $ cd /lib/solr/example $ dir (verify that the solr.war is in the directory, you should also see the familiar start.jar file there)
从您的apachesolr位置复制xml文件。通常它将是:
$ cp /home/YOUR_NAME/www/modules/apachesolr/*.xml /lib/solr/example/solr/conf</code>
在Tomcat中创建一个xml文件,告诉它在Tomcat启动时运行Solr
$ cd /tomcat $ cd /conf/Catalina/localhost $ vi solr.xml
将此粘贴到新文件中:
<code> <?xml version="1.0" encoding="utf-8"?> <Context docBase="/solr/example/solr.war" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="/solr/example/solr" override="true" /> </Context> </code>
您应该自定义的两个值是Context :: docBase(指向.war文件)和Environment :: value(指向solr目录)。请注意,在此示例中,.war文件位于solr目录中,这是一个很好的模式。
{ Escape依次按
:w
}和},然后按{Escape键,然后:q
}轻松使用WHM重新启动Tomcat。它在重启服务下。然后去这里:
yourdomainname.com:8080/solr/admin
您可能会收到此错误:
false为null ----------------------------------------------- -------------- java.lang.RuntimeException:java.io.IOException:无法创建目录:org.apache.solr.core.SolrCore上的/ usr / share / solr / data / index org.apache.solr.core.SolrCore。(SolrCore.java:546)的.initIndex(SolrCore.java:398)...
不要惊慌 我加奇!
再去
solrconfig.xml
一次$ cd /solr/example/solr/conf $ vi solrconfig.xml
并修改此行:
<!--<dataDir>${solr.data.dir:./solr/data}</dataDir>-->
至
<dataDir>${solr.data.dir:./solr/data}</dataDir>
再次重新启动Tomcat并转到此处:
yourdomainname.com:8080/solr/admin
如果您还没有这样做,请这样做:
转到中的schema.xml文件
/lib/solr/example/solr/conf
:$ vi schema.xml
在下面的部分中添加
<field>
:<field dest="host" source="host"/> <field dest="segment" source="segment"/> <field dest="boost" source="boost"/> <field dest="digest" source="digest"/> <field dest="tstamp" source="tstamp"/>
保存并退出{Press EscapeButton)
:w
(按 Enter),然后退出(Press EscapeButton):q
(按 Enter)如果您使用的是Nutch,请转到此处并安装/配置nutch。
对于Drupal 6.x中的Apachesolr,请参阅:在Tomcat6和Ubuntu上使用Apache Solr设置Drupal6.x。
只要您有支持它的模块,所有solr版本都可以与Drupal一起使用。
例如,Apachesolr模块具有以下配置文件:Solr:3.x和4.x。
对于Search API Solr Search模块,您可以找到Solr 的配置文件:3.x,4.x和5.x,因此这不是问题。
如何安装Solr,这是另一回事。有很多方法可以做到这一点。以下是几个例子。
最简单的方法是使用Homebrew安装最新的Apache Solr,例如:
brew install solr
ln -sfv /usr/local/opt/solr/*.plist ~/Library/LaunchAgents
brew services start solr # Or just: solr start
现在可以从以下位置访问已安装的Solr实例:http:// localhost:8983 /
最简单的方法是通过apt
以下方式安装Solr :
sudo apt-get install solr-tomcat
使用Puppet清单安装Solr。这是一个solr4-tomcat.pp示例。
$ VER=4.10.4 # Solr version.
$ TOMCAT_BASE=/var/lib/tomcat7
$ sudo apt-get install tomcat7 tomcat7-admin
$ sudo sed -i.org 's|port=\"8080\"|port=\"8983\"|g' /etc/tomcat?/server.xml
$ sudo mkdir -p /opt/solr/home/collection1/conf /opt/solr/data
$ cd /opt/solr
$ curl -s http://archive.apache.org/dist/lucene/solr/$VER/solr-$VER.tgz | sudo tar zxvf -
$ sudo cp -v /opt/solr/solr-$VER/dist/solr-$VER.war $TOMCAT_BASE/webapps/solr.war
$ sudo cp -v /opt/solr/solr-$VER/example/lib/ext/*.jar /opt/solr/solr-$VER/dist/solrj-lib/*.jar /opt/solr/solr-$VER/example/resources/log4j.properties $TOMCAT_BASE/webapps/solr/WEB-INF/lib
$ curl -s http://ftp.drupal.org/files/projects/search_api_solr-7.x-1.x-dev.tar.gz | sudo tar zxvf -
$ sudo cp -v search_api_solr/solr-conf/4.x/* home/collection1/conf/
$ sudo /etc/init.d/tomcat7 restart
检查它是否在以下位置工作:http:// localhost:8983
也可以看看: