<html><body><p>Ahoj,</p><p><br></p><p>pokud chceš opravdu obecný algoritmus, tak se podívej, jak to dělá Elasticsearch. Existuje tam něco jako indexování, které právě tohle řeší.</p><p>Podstata není složitá. Nejprve to zahodí "neužitečná" slova, pak to odfrézuje diakritiku,  pak to odfrézuje skloňovací a časovací koncovky. Vzniklá slova to nacpe do reverzního indexu.</p><p>Při vyhledávání to ohodnocuje počet slov z indexu, který se trefil a podle toho to přiřazuje relevanci výsledku.</p><p><br></p><p>Pochopitelně to s sebou nese kouzla jako jazykové mutace pro skloňování, nebo synonyma (Jan/Honza, Jedna/Raz, ...) kterých je zrovna čeština plná.</p><p><br></p><aside>
---------- Původní e-mail ----------<br>
Od: Jan Půhoný <konference@puhy.cz><br>
Komu: HW-news <hw-list@list.hw.cz><br>
Datum: 28. 8. 2019 22:35:19<br>
Předmět: Algoritmus - text společný všem prvkům pole
</aside><br><blockquote data-email="konference@puhy.cz"><div dir="auto"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">Zdravím a potřeboval bych poradit s menším zádrhelem:</span><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">Mám pole, které obsahuje podobné texty. Např. </span><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><div style="margin:5px 20px 20px;padding:0px;font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)" dir="auto"><div style="margin:0px;padding:0px">Kód:</div><pre style="background:repeat-x rgb(242,246,248);padding:6px;border:1px inset currentColor;border-image:none;height:84px;line-height:12px;font-size:12px;margin-top:0px;margin-bottom:0px;direction:ltr">Hadice tlaková
Hadice tlaková 1/2
Tlaková hadice 566789
Tlaková hadice 577898
Tlaková silná hadice 45677</pre></div><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">atd ...</span><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">Nebo:</span><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><div style="margin:5px 20px 20px;padding:0px;font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)" dir="auto"><div style="margin:0px;padding:0px">Kód:</div><pre style="background:repeat-x rgb(242,246,248);padding:6px;border:1px inset currentColor;border-image:none;height:96px;line-height:12px;font-size:12px;margin-top:0px;margin-bottom:0px;direction:ltr">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</pre></div><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">atd ....</span><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">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.</span><div dir="auto"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br></span></div><div dir="auto"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">Jak by jste na to šli?</span><br style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">Díky za nakopnutí.</span><div dir="auto"><font face="verdana, arial, tahoma, calibri, geneva, sans-serif"><span style="font-size:14px"><br></span></font></div><div dir="auto"><font face="verdana, arial, tahoma, calibri, geneva, sans-serif"><span style="font-size:14px">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.</span></font></div><div dir="auto"><font face="verdana, arial, tahoma, calibri, geneva, sans-serif"><span style="font-size:14px"><br></span></font></div><div dir="auto"><font face="verdana, arial, tahoma, calibri, geneva, sans-serif"><span style="font-size:14px">Musí to ale přece jít.<br></span></font><div dir="auto"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br></span></div><div dir="auto"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">Díky,</span></div><div dir="auto"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br></span></div><div dir="auto"><span style="font-family:verdana,arial,tahoma,calibri,geneva,sans-serif;font-size:14px;background-color:rgb(255,255,255)">HP</span></div></div></div></div>
_______________________________________________<br>HW-list mailing list  -  sponsored by www.HW.cz<br>Hw-list@list.hw.cz<br>http://list.hw.cz/mailman/listinfo/hw-list<br></blockquote></body></html>