Jump to content

Search index przy dużej ilości produktów


stefan2

Recommended Posts

Zaimportowałem ponad 40.000 produktów, aby wyniki wyszukiwania na frontend zwracały jakieś wyiki wszystkie te produkty muszą być zindeksowane.

Klikam w "PREFERENCJE > Szukaj" na: "Przebuduj cały index" i mi indeksuje produkty po kolei... fajnie...

niestety execution time w php robi swoje...

mam zindeksowane zaledwie ponad 3.000 produktów

więc klikam na drugą opcję: "Dodaj brakujące produkty do indeksu" - wydaje się, że problem rozwiązany, niestety...

zamiast dodawać kolejne to wydaje mi się, że przelatuje niepotrzebnie kolejno po wszystkich od początku (pewnie szuka tych jeszcze nie dodanych) aż w końcu: execution time od php...

 

Jakieś pomysły aby przebudować index search mając ogromną liczbę produktów?

 

jedyne co mi przychodzi do głowy to tworzenie własnego skryptu (wywołującego otworzenie i zapis każdego produktu po kolei co sprawi, że zostanie automatycznie zindeksowany) i ogólnie zabawa na 102... :/

 

Prestashop 1.6.0.14

 

Link to comment
Share on other sites

Musisz dużo pamięci i czasu na serwerze do indeksu 40000 produktów. Pomyśl o GB i godziny. Moje doświadczenie.

 

You need lot of memory and time on your server to index 40000 products. Think about GBs and hours. My experience.

Link to comment
Share on other sites

widzę, że skrypt presty admin/searchcron.pgp ma:

ini_set('max_execution_time', 7200);

mimo to po paru minutach indeksacja jest przerywana.

 

W error.log mamy "Premature end of script headers: searchcron.php..."

Ale to raczej nie w tym problem... chyba, że czegośnie łapę.

 

 

EDIT:

problem rozwiązany

 

wygląda na małe niedopatrzenie ze strony presty 1.6.0.14 (bug?)

plik: classes/Search.php

funkcja indexation()

linia: 494 zawiera zapytanie SQL które zabija cały skrypt swoim czasem wykonania...

 

w zapytaniu podmieniłem:

SELECT p.id_product  >> SELECT DISTINCT(p.id_product)

oraz dodałem na końcu:

LIMIT 5000

 

teraz link "Dodaj brakujące produkty do indeksu" robi to co do niego należy, oczywiście czasowo też może się wyłożyć ale przynajmniej faktycznie indeksuje brakujące produkty

Edited by stefan2 (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...