3

我正在运行 Magento EE 1.11,并且已经使用 tomcat7 部署了 SOLR 4.1。我复制了 Magento 提供的 solrconfig.xml 和 schema.xml 并修复了 SOLR 在这两个文件中遇到的所有问题,因为它们适用于 SOLR 3.6 并正确配置了 Magento。

现在,当我在最后一刻在 Magneto 中重新索引搜索时,SOLR 吐出了这个异常:

org.apache.solr.common.SolrException: Unknown commit parameter 'waitFlush'

Magento 回复说需要重新索引搜索。有没有人遇到过这个问题?从我所做的所有谷歌搜索来看,似乎有一个补丁,但我在哪里以及如何应用它?

4

1 回答 1

2

您应该真正使用 SOLR 3.x 而不是 Magento EE 4。

这是配置和安装的演练。

在 Debian/Ubuntu 上

最简单的安装非常容易使用tomcat和你的包管理器。将自动满足依赖关系。

apt-get install tomcat6

在 CentOS/RedHat 上

您需要获取一些替代回购以使这成为可能

例如。

rpm -Uvh http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

然后你可以从安装包yum

yum install yum-priorities ant tomcat6 tomcat6-admin

cd /usr/src/
mkdir sun-java
cd sun-java

现在它变得有点棘手。Sun 曾经允许直接下载;但他们现在有一个愚蠢的会话验证 - 所以通过你的电脑下载二进制文件并将其上传到机器上。

您需要 Linux JDK 和 JRE。

命令将是:

wget -O jdk.rpm.bin http://download.oracle.com/otn-pub/java/jdk/6u29-b11/jdk-6u29-linux-x64-rpm.bin
wget -O jre.rpm.bin http://download.oracle.com/otn-pub/java/jdk/6u29-b11/jre-6u29-linux-x64-rpm.bin

您也可以使用 OpenJDK

wget http://jpackage.org/jpackage50.repo -O /etc/yum.repos.d/jpackage50.repo
yum install -y java-1.6.0-openjdk

上传二进制文件后

chmod +x *.bin
./jre.rpm.bin
./jdk.rpm.bin
ln -s /var/lib/tomcat6 /usr/share/tomcat6

然后剩下的步骤

然后放入您各自选择的solr

mkdir /usr/src/solr
cd /usr/src/solr
wget http://mirrors.ukfast.co.uk/sites/ftp.apache.org/lucene/solr/3.6.1/apache-solr-3.6.1.tgz
tar xvfz apache-solr-3.6.1.tgz
cd apache-solr-3.6.1
cp dist/apache-solr-*.war /var/lib/tomcat6/webapps/solr.war
mkdir -p /var/lib/tomcat6/solr

然后添加 Magentosolr配置

INSTALL_DIR="/var/lib/tomcat6/solr"
touch $INSTALL_DIR/solr.xml
CORES=( "staging" "development" "live" )
for CORE in "${CORES[@]}"; do
  mkdir -p $INSTALL_DIR/$CORE/conf $INSTALL_DIR/$CORE/data 
  cp -par /usr/src/solr/apache-solr-3.6.1/example/solr/conf/* $INSTALL_DIR/$CORE/conf
  cp -par /home/path/public_html/lib/Apache/Solr/Conf/* $INSTALL_DIR/$CORE/conf
done

然后设置核心

cat > /var/lib/tomcat6/solr/solr.xml << EOF
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true" sharedLib="lib">
  <cores adminPath="/admin/cores">
    <core name="staging" instanceDir="staging" config="solrconfig.xml" schema="schema.xml" />
    <core name="development" instanceDir="development" config="solrconfig.xml" schema="schema.xml" />
    <core name="live" instanceDir="live" config="solrconfig.xml" schema="schema.xml" />
  </cores>
</solr>
EOF

然后最后,清理权限并重新启动solr

chown -R tomcat6:tomcat6 /var/lib/tomcat6/solr
/etc/init.d/tomcat6 restart

然后在 Magento 中,您现在有 3 个可能的独立内核可用于您的商店环境。

  • staging/solr
  • development/solr
  • live/solr

署名: http: //www.sonassi.com/knowledge-base/multiple-solr-cores-for-magento-on-debianubuntucentosredhat/

于 2013-02-09T00:40:20.537 回答