PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

Magento 2 produkty nie pojawiają się w wyszukiwarce – problem z OpenSearch

by Henryk Tews / piątek, 03 lipca 2026 / Opublikowano w Magento / Adobe Commerce

Klienci nie mogli znaleźć produktów przez wyszukiwarkę mimo że produkty były widoczne w kategoriach. Wyszukiwanie po SKU, nazwie i opisie nie dawało wyników. Problem narastał przez 2 tygodnie po migracji na nowy serwer. Czas naprawy: 2 godziny.

Objawy

  • Wyszukiwarka zwraca „Nie znaleziono produktów” dla wszystkich zapytań
  • Produkty są widoczne w kategoriach i dostępne przez bezpośredni URL
  • Problem pojawił się po migracji serwera
  • Reindeks catalogsearch_fulltext kończy się bez błędów ale nic nie zmienia

Diagnoza

# Sprawdź połączenie z OpenSearch
curl http://localhost:9200/_cat/health

# Sprawdź czy indeks Magento istnieje
curl http://localhost:9200/_cat/indices | grep magento

# Sprawdź liczbę dokumentów w indeksie
curl http://localhost:9200/magento2_product_1_v*/_count

# Sprawdź konfigurację OpenSearch w Magento
bin/magento config:show catalog/search/

# Ręcznie przetestuj zapytanie
curl -X GET "localhost:9200/magento2_product_1_v1/_search"   -H 'Content-Type: application/json'   -d '{"query": {"match": {"_all": "tshirt"}}}'

Przyczyna

Po migracji serwera OpenSearch działał na nowym IP. W konfiguracji Magento pozostał stary adres. Indeksowanie „kończyło się sukcesem” bo Magento nie sprawdzało odpowiedzi z OpenSearch – dane szły w pustkę.

Rozwiązanie

# Zaktualizuj konfigurację OpenSearch
bin/magento config:set catalog/search/engine opensearch
bin/magento config:set catalog/search/opensearch_server_hostname localhost
bin/magento config:set catalog/search/opensearch_server_port 9200

# Wyczyść i przebuduj indeks
bin/magento indexer:reset catalogsearch_fulltext
bin/magento indexer:reindex catalogsearch_fulltext

# Weryfikacja - sprawdź liczbę produktów w indeksie
curl http://localhost:9200/magento2_product_1_v*/_count
# Powinno zwrócić liczbę zbliżoną do liczby produktów w sklepie

# Wyczyść cache
bin/magento cache:flush

Wnioski

Po każdej migracji serwera sprawdź wszystkie zewnętrzne serwisy: OpenSearch, Redis, RabbitMQ. Dodaj monitoring który weryfikuje nie tylko że proces działa, ale że rzeczywiście zwraca poprawne dane (liczba dokumentów w OpenSearch powinna być zbliżona do liczby produktów).

About Henryk Tews

Co możesz przeczytać następne

Magento 2 admin grid timeout – siatka zamówień z 500k rekordami
Magento 2 zduplikowane zamówienia – brak idempotentności w checkout
Strategy w PHP – i jak Magento 2 używa go w cenach
  • Publikacje
  • O autorze
  • Kontakt

© 2026 Created by

GÓRA
Zarządzaj zgodą
Aby zapewnić jak najlepsze wrażenia, korzystamy z technologii, takich jak pliki cookie, do przechowywania i/lub uzyskiwania dostępu do informacji o urządzeniu. Zgoda na te technologie pozwoli nam przetwarzać dane, takie jak zachowanie podczas przeglądania lub unikalne identyfikatory na tej stronie. Brak wyrażenia zgody lub wycofanie zgody może niekorzystnie wpłynąć na niektóre cechy i funkcje.
Funkcjonalne Zawsze aktywne
Przechowywanie lub dostęp do danych technicznych jest ściśle konieczny do uzasadnionego celu umożliwienia korzystania z konkretnej usługi wyraźnie żądanej przez subskrybenta lub użytkownika, lub wyłącznie w celu przeprowadzenia transmisji komunikatu przez sieć łączności elektronicznej.
Preferencje
Przechowywanie lub dostęp techniczny jest niezbędny do uzasadnionego celu przechowywania preferencji, o które nie prosi subskrybent lub użytkownik.
Statystyka
Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do celów statystycznych. Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do anonimowych celów statystycznych. Bez wezwania do sądu, dobrowolnego podporządkowania się dostawcy usług internetowych lub dodatkowych zapisów od strony trzeciej, informacje przechowywane lub pobierane wyłącznie w tym celu zwykle nie mogą być wykorzystywane do identyfikacji użytkownika.
Marketing
Przechowywanie lub dostęp techniczny jest wymagany do tworzenia profili użytkowników w celu wysyłania reklam lub śledzenia użytkownika na stronie internetowej lub na kilku stronach internetowych w podobnych celach marketingowych.
  • Zarządzaj opcjami
  • Zarządzaj serwisami
  • Zarządzaj {vendor_count} dostawcami
  • Przeczytaj więcej o tych celach
Zobacz preferencje
  • {title}
  • {title}
  • {title}