从Solr检索Magento产品信息

时间:2011-10-22 16:36:59

标签: magento solr

我正在开发一个应用程序,我们需要Magento将所有产品推送到solr,以便我们可以直接从那里检索它们。这意味着我们使用Solr REST API来检索Magento推送的产品。

我按照此处描述的步骤进行操作:http://www.summasolutions.net/blogposts/magento-apache-solr-integration

设置工作正常,产品被推送到solr,我可以按预期通过REST API检索它们。我可以从solr中检索的唯一字段是:status,timestamp,store_id,id,short_description,sku,price,name,in_stock,description_en,fulltext_en,attr_select_tax_class_id,attr_select_status。

根据schemas.xml,我应该能够获得以下附加字段:“visibility”,“show_in_categories”,“categories”。

不幸的是情况并非如此。我甚至在这些字段中添加了attribiute stored =“true”,没有任何可见的结果。问题是,如何在搜索结果中显示这些字段?我的查询通常如下所示:

 http://solr:8983/solr/select/?q=*:*&version=2.2&start=0&rows=10&indent=on

此外,我想检索其他Magento属性(例如自定义设计,产品标签,产品评论等)。有没有办法可以做到这一点?

感谢。 最大

3 个答案:

答案 0 :(得分:1)

Magento只会索引Solr中可搜索并在产品列表中使用的属性。这意味着所有的产品属性(不是在快速搜索中,也不在高级搜索中)都将在Solr中编入索引。

如果要向索引添加特定属性,可以使它们可搜索。为此,请登录管理面板并执行以下操作:

  1. 转到目录 - >属性 - >管理属性
  2. 选择要在Solr中编制索引的属性并单击
  3. "前端属性"设置"在高级搜索中使用"和"用于产品清单"是的
  4. 转到“索引管理”,然后重新创建索引
  5. 不幸的是,Magento有时会仅引用引用而不是实际值本身。因此,除非您在Magento中加载索引,否则某些信息可能没用。我们目前正在使用Solr索引在Drupal中借助Search API,Search API Solr和Sarnia启用Magento产品搜索,这就是我们想要修改哪些属性被索引的原因,但有时只有引用会使输出复杂化。

答案 1 :(得分:0)

要检索字段,您需要使用fl parameter

fl参数控制将与响应一起返回的字段 尝试fl=*,它将返回标记为已存储的所有字段。

http://solr:8983/solr/select/?q=*:*&version=2.2&start=0&rows=10&indent=on&fl=*

您可以单独放置字段来自定义字段。

fl=visibility,show_in_categories,categories

答案 2 :(得分:0)

我解决了部分问题。 Magento的配置显示该产品没有库存。结果是字段“visibility”,“show_in_categories”,“categories”。其中没有出现在solr中。将产品设置为库存后,它们现在会显示出来。

我的问题的第二部分仍然没有答案:如何在solr中显示图片,网址,关键字等字段?使用SOAP,产品中包含更多字段。我想把所有这些变成solr。任何意见都会非常感激。