![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 1 Dołączył: 18.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, korzystam aktualnie z sphinxa z symfony i problem jest taki że przebudowa indexów trwa zbyt długo i szukam czegoś z realTime-em(a z tego co się dowiadywałem sphinx z realTimem działa słabo) gdyż content jest często zmieniany, a musimy mieć możliwość np filtrowania po jakiś parametrach które są właśnie zmieniane w bazie.
Padło na elasticsearch i badam temat. Załóżmy że skonfiguruje elastica tzn wszystkie pola(które mnie interesują) w configu itp następnie odpalę populate Tworze nowa encje (lub update starą) następnie persist, flush co teraz? pakiet fos-elasticsearch jest na tyle inteligentny że doda/zaktualizuje rekord do elastica związany z tą encją? Czy muszę wywołać po flushu jakąś funkcje elastica? czy może muszę korzystać z custom repository(fos - elastica) jeżeli chce żeby to automatycznie działało? Czy możecie mnie nakierować na temat lub/i udostępnić jakąś obszerną dokumentacje? ta z githuba fos/elasticsearch jest dość okrojona |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 1 Dołączył: 18.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Bez Fos się raczej nie obejdzie na ten moment, aktualnie korzystamy ze sphinxa, logika jest spora, na dodatek nie ja to pisałem i nie znam elastica, starej ekipy już nie ma, termin jest napięty więc już wole użyć starszej wersji
zaimplementowaliśmy 1.7.3 i działa, dzięki za zainteresowanie wątkiem, pozdrawiam mam już zaimplementowany częściowo elastic teraz stoję przed dziwnym problemem, kiedy zapisuje encje do bazy przez form->entity(form odpowiada wszystkim polą w encji) i nawet jak zmienię np tylko jeden parametr (choć jest ich np 10) to index sie fajnie aktualizuje ale jak już przez np funkcje ajaxową ktorą po stronie php działa na zasadzie find->id i w zwróconym objekcie robie setCostam persist i flush to nie aktualizuje mi się index, dlaczego? edit. ok już wiem czemu, kiedy zmieniam parametr w obiekcie który w indeksie jest jako nested i nie tworze zmian w głównym to główny nie jest flushowany do bazy wiec listener foselastika nie wie ze zostały wprowadzone zmiany w dziecku. jakieś sugestie? PS zaznaczam ze dodanie mod_date do głównej encji mija się z celem gdyż zrobiłem to troche na opak moje tabele to ofe ofe_pl ofe_en ofe_de miedzy nimi jest relacja 1do1, zarówno z ofe mam dostep do ofe_pl i z ofe_pl do ofe mod_date jest na ofe, a nie każde ofe ma wszystkie ofe_lang np ofe 1 2 3 4 5 ofe_pl 1 2 ofe_de 2 3 ofe_en 4 5 dlatego też nie mogłem wytworzyć indeksu z ofe bo dostawałem w brakujących miejscach doctrine.error więc indeksy wytworzyłem z ofe_lang |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 06:12 |