Получение информации о продукте Magento от Solr - PullRequest
2 голосов
/ 22 октября 2011

Я работаю над приложением, в котором нам нужно, чтобы Magento подтолкнул все продукты к поиску, чтобы мы могли получить их непосредственно оттуда. Это означает, что мы используем Solr REST API для извлечения продуктов, которые были продвинуты Magento.

Я выполнил шаги, описанные здесь: http://www.summasolutions.net/blogposts/magento-apache-solr-integration

Настройки работают нормально, продукты подталкиваются к решению, и я могу получить их через API REST, как и ожидалось. Однако единственные поля, которые я могу извлечь из solr: статус, метка времени, store_id, id, short_description, sku, цена, имя, in_stock, description_en, fulltext_en, attr_select_tax_class_id, attr_select_status.

Согласно schemas.xml, я должен иметь возможность получить следующие дополнительные поля: «видимость», «show_in_categories», «категории».

К сожалению, это не тот случай. Я даже добавил в эти поля attribiute store = "true" без видимого результата. Вопрос в том, как сделать так, чтобы эти поля отображались в результатах поиска? Мой запрос обычно выглядит следующим образом:

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

Кроме того, я хотел бы получить другие атрибуты Magento (например, индивидуальный дизайн, теги продуктов, обзоры продуктов и т. Д.). Есть ли способ, которым это можно сделать?

спасибо. Макс.

Ответы [ 3 ]

1 голос
/ 22 января 2013

Magento будет индексировать только те атрибуты в Solr, которые доступны для поиска и используются в списке товаров. Это означает, что все атрибуты продукта, которые не предназначены для поиска (не в режиме быстрого поиска или расширенного поиска), будут не проиндексированы в Solr.

Если вы хотите добавить определенные атрибуты в индекс, вы можете сделать их доступными для поиска. Для этого войдите в свою панель администрирования и выполните следующие действия:

  1. Перейти в каталог -> Атрибуты -> Управление атрибутами
  2. Выберите атрибут (ы), которые вы хотите проиндексировать в Solr, и щелкните по нему
  3. В разделе «Свойства внешнего интерфейса» установите для «Использовать в расширенном поиске» и «Использовать в списке товаров» значение Да
  4. Перейти к управлению индексами и воссоздать индексы

К сожалению, Magento иногда индексирует только ссылки, а не сами фактические значения. Поэтому, если вы не загружаете индекс в Magento, некоторая информация может оказаться бесполезной. В настоящее время мы используем индекс Solr, чтобы включить поиск продуктов Magento в Drupal с помощью Search API, Search API Solr и Sarnia, и именно поэтому мы хотели изменить, какие атрибуты индексируются, однако иногда наличие только ссылок осложняет вывод.

0 голосов
/ 23 октября 2011

Я решил часть проблем. Конфигурация в Magento показала, что товара нет в наличии. В результате поля "видимость", "show_in_categories", "категории". Где не отображаются в solr. После настройки продуктов на складе они теперь отображаются.

Вторая часть моего вопроса остается без ответа: как я могу получить такие поля, как изображение, URL, ключевые слова, которые будут отображаться в solr? Используя SOAP, есть намного больше полей, которые включены в продукт. Я пытаюсь получить все это в Solr. Любой вклад будет высоко ценится.

0 голосов
/ 22 октября 2011

Для извлечения полей необходимо использовать параметр fl .

fl, который управляет полями, которые будут возвращены с ответом.
Try fl=* который вернет все поля, помеченные как сохраненные.

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

Вы можете настроить поля, помещая их по отдельности.

fl=visibility,show_in_categories,categories
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...