Autor | Zpráva | ||
---|---|---|---|
Sventek Profil |
#1 · Zasláno: 29. 5. 2008, 01:51:58
Ahoj, chtěl bych se s vámi poradit jak nejefektivněj prohledávat pole o zhruba tisíci řádcích, nejde mi o array_search, to hledá jenom přesně zadané řádky, ale já chci hledat třeba jenom jedno slovo, které se vyskytuje v několika různých větách např. v pěti řádcích.
Přeházet to do databáze by asi bylo nejlepší řešení, ale rád bych se zeptal, zda by nebyl srovnatelně rychlý i jiný postup bez sql. |
||
Taps Profil |
#2 · Zasláno: 29. 5. 2008, 07:12:34
Sventek
co tak in_array. to by nešlo ? |
||
Mastodont Profil |
#3 · Zasláno: 29. 5. 2008, 07:59:18
zda by nebyl srovnatelně rychlý i jiný postup bez sql
IMHO nebyl. Ale když už chceš pole, tak sloučit prvky do řetězce a poté preg_match. |
||
peta Profil |
#4 · Zasláno: 29. 5. 2008, 09:49:35
Sventek
Pokud to chces delat casto, nejefektivnejsi se mi jevi databaze + fulltext. Coz ti udela to, ze projde zadane sloupce a vytvori na vsechna slova indexy. Jinak cz.php.net/array jsou veskere funkce pro array. Taps :) "array_search, to hledá jenom přesně zadané řádky" "ale já chci hledat třeba jenom jedno slovo, které se vyskytuje v několika různých větách" "co tak in_array. to by nešlo ?" ... jestli to treba nehleda presny text? :) |
||
Sventek Profil |
#5 · Zasláno: 29. 5. 2008, 10:17:39
Díky, ty funkce na php.net jsem si procházel a nic schopného jsem neviděl, ale je dost možné že sem něco přehlídl nebo zasklil. Jde o to, že mám asi tisíc texťáků ve velikosti od 100 B do 300 kB, ve kterých mám udělat hledání, ale asi bude vážně daleko efektivnější investovat ten čas do překopání do databáze než do indexace a hledání přes další texťák (tu indexaci jsem udělal tak, že se vše uloží do jednoho souboru pro rychlejší načítání).
Díky za konzultaci |
||
Časová prodleva: 16 let
|
0