Autor Zpráva
Veronika22
Profil *
Budu si do mySQL vkládat do tabulky SMS texty a nerada bych tam vložila stejný či podobný text lišící se třeba něčím zvlášť vloženým textem na víc.

Existuje nějaký mySQL dotaz, který případně vyhledaný text nalezne .. ikdyž třeba text uprostřed bude pozměněn ve větě apod?
Kajman
Profil
Snad by šlo využít fulltextový index na vybrání nejpodobnějších a ty si pak projít lepším algoritmem.

Edit: pro řešení přímo v mysql by se daly asi použít tyto uživatelské procedury.
Veronika22
Profil *
Abych se přiznala Kajman, hrozně moc děkuji za odkazy, ale bohužel můj mozek takové informace nedokáže zpracovat :( Vím, že žádám mnoho, ale nemohl by mě někdo moji mySQL tabulku vložit do mySQL dotazu, který zde Kajman nadhodil? Jak říkám, vůbec tomu nerozumím :(

Hledat potřebuji hlavně v TEXT.

CREATE TABLE `zpravy_sms` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `den` tinyint(2) NOT NULL,
  `mesic` tinyint(2) NOT NULL,
  `text` varchar(250) COLLATE utf8_czech_ci NOT NULL,
  `user` int(11) NOT NULL,
  `ip` varchar(39) COLLATE utf8_czech_ci NOT NULL,
  `time` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

Moderátor Kajman: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Kajman
Profil
Pokud se vám nechce samostatně řešit problém a chcete hned výsledek, zkuste kategorii práce a zakázky.
peta
Profil
Ale klidne muzes hledat rozdil tak, ze nechas hledat ratezec A v B a pak opacne. Pokud to najde, pak z delsiho odectes delku kratsiho, tim ziskas pocet rozdilnych znaku. A pokud je tento rekneme do 30% kratsiho, tak to budes povazovat za duplicitni. Pokud je tam toho vic, tak to pridas s tim, ze to poznaci jako moznou duplicitu.
Kdyz se zmeni uprostred 3 slova, tak musis pouzit slozitejsi algoritmus, viz Kajman [#2] druhy odkaz.

Pripadne by slo spocitat pocet slov. Pokud 70% ruznych slov je stejnych, pak porovnat pocty slov a pokud je pocet stejnych slov 90%, pak to povazovat za duplicitu.
Nebo to zalozit na poctu pismen, at je to jednodussi.

Nevim, nikdy jsem to nepotreboval.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0