1

我最近设置了一个 Apache Solr 1.4.1 服务器来使用 Magento Enterprise 1.9。

设置似乎工作正常,Magento 报告它可以成功连接到 Solr。

我可以在 Solr 界面中执行 Solr 查询,而且似乎 Magento 数据已被 Solr 成功索引。

但是......当我通过 Magento 搜索时,似乎它实际上并没有从 Solr 获取搜索结果,而是像往常一样从 Magento 的 MySQL 数据库中获取它们。

这不应该发生,因为目录搜索引擎在 Magento 中肯定设置为 Solr。

当我通过 Solr 管理界面运行查询时,Solr 日志文件显示:

[09/05/2013:05:54:48 +0000] "GET /solr/select/?q=fulltext1_en%3Ashirt&version=2.2&start=0&rows=10&indent=on HTTP/1.1" 200 33594

当我通过我的 Magento 商店搜索时,我得到了这个:

[09/05/2013:05:54:32 +0000] "HEAD /solr/admin/ping HTTP/1.0" 200 0

所以对我来说,Magento 似乎只是在“ping”Solr,但实际上并没有发送查询数据。

我已allow_url_fopen = On在 php.ini 中启用以排除这种情况。

有什么想法吗?

4

1 回答 1

0

我会首先检查文件var/log/exception.log中的条目。

假设ping您在 Solr 日志中看到的是由适当的类执行的 ping,即

Enterprise_Search_Model_Adapter_HttpStream::_search()    // or
Enterprise_Search_Model_Adapter_PhpExtension::_search()

如果 ping 后出现故障,您应该找到日志条目,因为catch语句记录。

于 2013-05-10T08:47:04.643 回答