【问题标题】:Problems communicating between Apache Solr and Magento Enterprise - only "pings" in the Solr logApache Solr 和 Magento Enterprise 之间的通信问题 - Solr 日志中只有“ping”
【发布时间】:2013-05-09 05:37:07
【问题描述】:

我最近设置了一个 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,但实际上并没有发送查询数据。

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

有什么想法吗?

【问题讨论】:

    标签: php apache magento solr


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 2014-07-19
      • 1970-01-01
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      相关资源
      最近更新 更多