Autor | Zpráva | ||
---|---|---|---|
Exkalibr Profil * |
#1 · Zasláno: 3. 3. 2020, 18:52:21
* Mám předdefinovaných 178 skupin slovíček (tagů - zatím jen v souboru).
* mám celkem zhruba 622 slovíček (resp. kořenů), ze kterých bych chtěl sestavit regulární výrazy. Zjednodušený příklad: Mám 4 kořeny patřící do stejné skupiny: budov, stav, vybudov, vystav Z toho mohu sestavit regulární výraz např. /\bbudov\b|\bstav|\bvybudov|\bvystavě/
Co chci zjistit je výskytů slovíček ve zprávě je - to umím pomocí preg_match (předpokládám že výsledek té funkce je počet výskytů). Ale chci se zeptat jak to udělat co nejefektivněji. Jelikož těch skupin je 178 tak předpokládám, že ten preg_match musím 178x zavolat na jeden text. Předpokládám, že bych mohl text nejprve omezit na délku 2000 znaků. Ale mohu něco udělat pro to aby hledání znaků bylo rychlejší? Například zaměnit všechny znaky, které nejsou ve třídě [a-zA-Z] + české znaky za mezery a pak zaměnit všechny opakující se mezery za jednu mezeru? Jakékoliv postřehy uvítám. |
||
Kajman Profil |
#2 · Zasláno: 3. 3. 2020, 20:11:32
Pokud Vám jde o fulltextové vyhledávání, tak se raději mrkněte na něco hotového - např. ElasticSearch nebo Sphinx.
|
||
lionel messi Profil |
#3 · Zasláno: 3. 3. 2020, 20:22:12
Exkalibr:
„to umím pomocí preg_match (předpokládám že výsledek té funkce je počet výskytů).“ Nie je. Pozri sa na preg_match_all. |
||
Exkalibr Profil * |
Nejde mi o fulltext. Mám určitý soubor tagů, který je typický pro problematiku, kterou se bude forum zabývat. Ale řekl jsem si že bude lepší a méně zatěžující pro server, když to udělám na straně serveru. Takže se budu muset podívat na JS řešení.
oprava: na straně klienta |
||
Kajman Profil |
#5 · Zasláno: 4. 3. 2020, 09:33:28
Pokud se má podle tagů např. vyhledávat, tak bych bych si jejich výskyt předpočítal a uložil. Stačí to pak spočítat jen při změně textu nebo při změně tagu.
|
||
Exkalibr Profil * |
#6 · Zasláno: 6. 3. 2020, 16:02:13
Mě jde o to, aby se ty tagy vyhledali když uživatel píše příspěvek na forum. Jak zmáčkne "Odeslat" měla by se spustit JS funkce, ktará vyhledá slovíčka a převede je na tagy.
Namadají mě dvě možnosti: a) buďto zjistit pouze počet slovíček ve zprávě nebo b) pokud existuje taková funkce, tak ty nalezené slovíčka rovnou zaměňovat za '', s tím, že potřebuju znát počet nahrazených slovíček. Tím bych chtěl předejít tomu, aby se slovíčka která jsem už identifikoval hledali opakovaně. |
||
Časová prodleva: 4 roky
|
0