Fulltext v Doctrine + Gedmo Translatable

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
cubic
Člen | 45
+
0
-

Nedělal jste, prosím, někdo fulltextové vyhledávání v překladech pomocí Gedmo Translatable?

Hodně zjednodušená situace: mám entitu produkt, kde je například titulek, popis, cena, sleva. Titulek a popis překládám pomocí Gedmo Translatable, překlady se ukládají do tabulky ext_translations. Ta má strukturu zhruba následující: název originál tabulky, id řádku, název sloupce, hodnota překladu. Pokud je produkt jen v české verzi, zůstane uložený v produktech. Pokud přidám anglický překlad titulku, zapíše se do ext_translations na jeden řádek záznam s přeloženým titulkem. Pokud přeložím perex, je to další řádek atd.

Teď jsem na anglické mutaci shopu, vyhledávám nějaký výraz a potřebuji prohledat jak produkty, tak překlady, abych našel jak přeložené produkty, tak ty, kde překlady zatím chybí (ty se vypisují na webu s českým názvem). Běžně se v Doctrine tahle situace řeší druhou tabulkou v MyISAM, která se najoinuje a použije se klasický full text. Tady to už je trochu hůře proveditelné…

Snažil jsem se dopátrat rozumného a aspoň trochu elegantního řešení, ale bez úspěchu.

Jak z toho ven?

  • jediná MyISAM tabulka, kde budu data udržovat klidně manuálně?
  • jsem schopný na tohle použít třeba Sphinx?
  • nebo nějakou jinou službu?
  • MySQL 5.6?

Díky, budu vděčný za jakoukoliv radu, pokud jste někdo něco podobného už také řešil.

Filip Procházka
Moderator | 4668
+
0
-

Já bych šel do elastic, když už.

David Matějka
Moderator | 6445
+
0
-

j, bud ten elastic, nebo jeste koukni na solr – oboji jede na apache lucene engine, takze funkcnost je hodne podobna. solr ma tu vyhodu, ze za nim stoji apache, takze ma jistejsi budoucnost :)