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

Tom Meinlschmidt hw na meinlschmidt.org
Čtvrtek Srpen 29 11:18:34 CEST 2019


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



Další informace o konferenci Hw-list