Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][SF2][Symfony2]ElasticSearch z Symfony2 (FosElasticBundle)
robert0770
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
robert0770
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 06:12