我正在开发一个应用程序,我们需要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属性(例如自定义设计,产品标签,产品评论等)。有没有办法可以做到这一点?
感谢。 最大
答案 0 :(得分:1)
Magento只会索引Solr中可搜索并在产品列表中使用的属性。这意味着所有不的产品属性(不是在快速搜索中,也不在高级搜索中)都将不在Solr中编入索引。
如果要向索引添加特定属性,可以使它们可搜索。为此,请登录管理面板并执行以下操作:
不幸的是,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。任何意见都会非常感激。