Re: Algoritmus - text společný všem prvkům pole

Jan Půhoný konference na puhy.cz
Čtvrtek Srpen 29 14:44:19 CEST 2019


Takže díky všem, snad vyřešeno, koho by to zajímalo tak asi takto:

použil jsem nakonec sphinx + sphinx api pro php, ten mi tam už běžel (index
aby se nepřetěžovala db, něco jako elasticsearch) a pak nad výsledkem
funkci similar_text https://www.php.net/manual/en/function.similar-text.php

pak pár foreachů a ještě dynamické nastavení po kolika slovech to
probublává podle velikosti výsledku.

Překvapivě to je docela rychlé, teď ještě testuji omezení různých znaků a
nastavení vah....

HP

S pozdravem Ing. Jan Půhoný

Spolehlivý obchod s elektronikou
https://www.puhy.cz

Připojení k internetu v Chocni a okolí
http://www.puhy.net


čt 29. 8. 2019 v 11:18 odesílatel Tom Meinlschmidt <hw na meinlschmidt.org>
napsal:

> zrusit diakritiku, smazat cisla/oznaceni (pres regexp) a udelat
> soundex()
>
> treba
>
> mysql> select soundex('elektrolyticky kondenzator nippon 9767898
> 4700uF/25V');
> +-----------------------------------------------------------------+
> | soundex('elektrolyticky kondenzator nippon 9767898 4700uF/25V') |
> +-----------------------------------------------------------------+
> | E42364325352365151                                              |
> +-----------------------------------------------------------------+
> 1 row in set (0.00 sec)
>
> mysql> select soundex('5667 1000uF 25V Elektrolyticky kondenzator
> nippon');
> +--------------------------------------------------------------+
> | soundex('5667 1000uF 25V Elektrolyticky kondenzator nippon') |
> +--------------------------------------------------------------+
> | U14236432535236515                                           |
> +--------------------------------------------------------------+
> 1 row in set (0.00 sec)
>
> mysql> select soundex('tlakova hadice');
> +---------------------------+
> | soundex('tlakova hadice') |
> +---------------------------+
> | T42132                    |
> +---------------------------+
> 1 row in set (0.00 sec)
>
> mysql> select soundex('tlakova hadice 1/2');
> +-------------------------------+
> | soundex('tlakova hadice 1/2') |
> +-------------------------------+
> | T42132                        |
> +-------------------------------+
> 1 row in set (0.00 sec)
>
> mysql> select soundex('tlakova hadice 2342424');
> +-----------------------------------+
> | soundex('tlakova hadice 2342424') |
> +-----------------------------------+
> | T42132                            |
> +-----------------------------------+
> 1 row in set (0.00 sec)
>
> jen s "elektrolyticky" a "elektrolitycky" si to neporadi :)
>
> tm
>
> ps: nebo se da pouzivat neco lepsiho, elasticsearch s keywords a dobre
> navrzenym indexem.
>
>
> On 2019-08-28 22:34, Jan Půhoný wrote:
> > Zdravím a potřeboval bych poradit s menším zádrhelem:
> >
> > Mám pole, které obsahuje podobné texty. Např.
> >
> > Kód:
> >
> > Hadice tlaková
> > Hadice tlaková 1/2
> > Tlaková hadice 566789
> > Tlaková hadice 577898
> > Tlaková silná hadice 45677
> > atd ...
> >
> > Nebo:
> >
> > Kód:
> >
> > Elektrolytický kondenzátor nippon 47uF 100V
> > Elektrolitycký kondenzátor nippon 1000uF 35V
> > Elektrolitycký kondenzátor nippon 9767898 4700uF/25V
> > Elektrolitycký kondenzátor nippon 567788
> > 5667 1000uF 25V Elektrolitycký kondenzátor nippon
> > 220uF50V Elektrolitycký speciální kondenzátor nippon
> > atd ....
> >
> > a chtěl bych z toho dostat frázi, která je společná všem
> > prvkům. V tomto případě by to byla fráze " tlaková hadice" a
> > "elektrolitycký kondenzátor nippon" tuto frázi ale předem neznám.
> > A nevím ani jak bude dlouhá. Stringy v poli frází mohou začínat
> > nebo nemusí, může být i uprpstřed stringu a klidně i rozdělená
> > dalšími slovy.
> >
> > Jak by jste na to šli?
> > Díky za nakopnutí.
> >
> > Píšu to v php, ale jde mi spíše o obecný algoritmus. Hraju si s
> > tím od rána. Nejdříve jsem to zkoušel předávat pi stranách po
> > slovech, pak postupně probublávat po 0+i slovech. Uspokojivý
> > výsledek jsem ale  nedostal.
> >
> > Musí to ale přece jít.
> >
> > Díky,
> >
> > HP
> > _______________________________________________
> > HW-list mailing list  -  sponsored by www.HW.cz
> > Hw-list na list.hw.cz
> > http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20190829/6d1c9a57/attachment.html>


Další informace o konferenci Hw-list