Поиск не возвращает результаты


9

Как я описал в заголовке, я не получаю никаких результатов при поиске продукта. Я пытался до сих пор:

  1. Проверка видимости продуктов
  2. Мои продукты есть в наличии
  3. Я также установил количество в 100, чтобы быть уверенным
  4. Я обновил атрибуты продуктов в каталоге-> управлять продуктами-> выбрать все продукты.
  5. Я назначил все продукты на главном веб-сайте для своего определенного представления магазина.
  6. Атрибут имени можно использовать для поиска.

Я также пытался искать с, skuно ничего не происходит снова. Странно, что расширенный поиск как по названию, так и по skuработе.

И моя проблема остается .. Любые идеи о том, как заставить мои продукты появляться при поиске?


простой ли это или настраиваемый? ты переиндексировал?
Шьям Кришна Срикумар

У меня есть 2 простых продукта, а остальные настраиваются. До сих пор я много раз переиндексировал.
vasilisdmr

Видны ли товары в каталоге?
Милан Симек

Что ты имеешь в виду? Вы имеете в виду, могу ли я увидеть их в каталоге-> управлять продуктами? Если это ваш вопрос, то да, я могу их видеть.
vasilisdmr

Я имею в виду они видны при просмотре каталога на передней части?
Милан Симек

Ответы:


9

Откройте свой файл Mage_CatalogSearch_Model_Layerи в методе

public function prepareProductCollection($collection)

перед return $this;

Добавьте следующие строки:

Mage::log($collection->getSelectSQL(1), false, 'search.log', true);
Mage::log((array)Mage::getConfig()->getNode()->global->models->catalogsearch, false, 'search.log', true)

(это для отладки, чтобы понять вашу проблему).

Затем откройте ваш var/log/search.logрезультат и поместите результат в ваш первый пост (там должен быть длинный SQL-запрос и массив, где мы можем увидеть переписанные).


утром попробую и расскажу результаты.
vasilisdmr

5

Я испытал это. Мое исправление состояло в том, чтобы пойти Manage Productsи выбрать все продукты и выполнить "Update Attributes"из выпадающего списка над сеткой. На экране «Обновить атрибуты» перейдите на Websitesвкладку и повторно свяжитесь с нужным веб-сайтом, установив флажок под Add Products To Website.

После этого может потребоваться повторное построение поискового индекса.


У меня была эта проблема также, и Обновление Атрибутов работало на меня.
Пол Доннелли

Читайте пт. № 4 и № 5 Он уже сделал это, и его продукты размещены на необходимом сайте
Жартауник

@zhartaunik В # 4 OP не указал, какие атрибуты были изменены, а в # 5 OP использует термин «Просмотр магазина», который отличается от «Веб-сайт».
Джон Орман

Я собираюсь попробовать это через некоторое время.
vasilisdmr

Я попробовал это и ничего, я вспомнил, что сделал это еще раз и получил то же самое, ничего взамен.
vasilisdmr

3

перейти к

admin->attributs->manage attribute-> search sku - open it -> Frontend Properties-> Use in Quick Search (YES )

Использовать в расширенном поиске (ДА). это оно.


Я сделал это, но ничего не случилось.
vasilisdmr

2

Вы создали внешние модули, которые требовались с помощью поиска? Посмотрите на файлы макета для чего-то вроде этого

<mdg_giftregistry_search_index>
    <reference name="content">
        <block name="giftregistry.search" type="core/template" template="mdg/search.phtml" as="giftregistry_search"/>
    </reference>
</mdg_giftregistry_search_index>

Я не использовал внешний модуль, который требовал поиска.
vasilisdmr

2

Еще одна возможность, которая сработала для меня - это переиндексация данных !

Для этого перейдите в Админ-панель> Система> Управление индексами, нажмите «Выбрать все», в поле «Действие» выберите «Переиндексировать данные» и нажмите «Отправить».

знак равно

Мир!


1

Многие вопросы Возможные продукты атрибуты набора ошибок. тебе нужно введите описание изображения здесь

Проверьте каждый.


1

Вы можете отлаживать объект коллекции в классе Mage_CatalogSearch_Model_Layer ниже функции.

public function getProductCollection()
    {
        if (isset($this->_productCollections[$this->getCurrentCategory()->getId()])) {
            $collection = $this->_productCollections[$this->getCurrentCategory()->getId()];
        } else {
            $collection = Mage::getResourceModel('catalogsearch/fulltext_collection');
            $this->prepareProductCollection($collection);
            $this->_productCollections[$this->getCurrentCategory()->getId()] = $collection;
        }

echo $ collection-> getSelect (); die ('test');

        return $collection;
    }

этот фрагмент кода, где я должен положить его?
vasilisdmr

app / code / core / Mage / CatalogSearch / Model / Layer.php После строки № 44 echo $ collection-> getSelect (); die ('test');
Санджи

и результат будет? Я имею в виду, я увижу, если продукты будут добавлены в коллекцию $?
vasilisdmr

1

Я также столкнулся с той же проблемой несколько дней назад, моя проблема была в том, что я переопределил функциональность magento по умолчанию для одного расширения. Так что у меня были конфликты с моими результатами поиска. Проверьте все ваши расширения один раз, может возникнуть конфликт.


Я сделаю это, и я буду держать вас в курсе
vasilisdmr

вы можете сделать кэш, обновление индекса? это нужно это.
Пратик Камани

localhost /.../ index.php / catalogsearch / advanced попробуйте с этим, поместите ссылку на свой сайт и после того, как catalogsearch / advanced /, если вы получите какую-либо подсказку.
Пратик Камани

0

У меня была та же проблема, и я попробовал все предложения, приведенные выше, и ни одно из них не сработало, поэтому я сделал поиск в Google по каждой из моих проблем и ничего не получил, затем я погуглил, как сделать мои продукты доступными для поиска в моем магазине Magento, и я наткнулся " Условия поиска », который находится в каталоге, но не в каталоге в конфигурации системы, а в каталоге, когда вы добавляете новый или редактируете продукт. В поисковом запросе вы добавляете заголовок, который хотите дать этому поиску, а в Переадресацию вы вводите полный URL-адрес продукта или продуктов, для которых вы хотите придумать это имя. Я продаю секс-игрушки, поэтому, например, я набрал в своем поисковом разделе Magento Vibrator, и ни одна не появилась, даже если у меня куча разных моделей, поэтому я создал поисковый запрос с именем Vibrator и скопировал URL из категории вибраторов &


0

У меня тоже есть эта проблема.

Перейдите в Управление продуктами и выберите все продукты и выполните «Обновить атрибуты» из выпадающего меню над сеткой. На экране «Обновить атрибуты» перейдите на вкладку «Веб-сайты» и повторно свяжитесь с нужным веб-сайтом, установив флажок «Добавить продукты на веб-сайт».

  • это решение работает для меня, но у меня есть буквально тысячи продуктов, и на это уйдут дни. Есть ли другой способ сделать это или команду базы данных, которую я мог бы использовать для этого? Спасибо

Добро пожаловать в MSE. Вы можете добавить новый вопрос, и эта часть предназначена только для публикации ответов. Надеюсь, это поможет
Jai

-5

Я предполагаю, что вы следили за всеми комментариями выше, кроме этого, пожалуйста, следуйте также:

  1. Сначала убедитесь, что у вас есть максимальное время выполнения, либо напишите в index.php ini_set('max_execution_time', 1800)или установите его в php.inimax_execution_time= 1600
  2. Увеличьте лимит памяти ini_set('memory_limit','512M')или установите его в php.inimemory_limit=16M

как 16M относится к увеличению ... Magento 256 / 512M ... ответ на спам?
FlorinelChis

извините отредактировал это.
magegaga.com
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.