Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyszukiwarka
Forum PHP.pl > Forum > PHP
feel
Zadanie brzmi: stworzyć wyszukiwarke plikow formatu microsoftowego (.doc , .xls itp.) obslugiwana przez przegladarke

Problem: pliki umieszczone sa na tym serwerze co strona z wyszukiwaniem. Plikow tych jest sporo, a niektore sa bardzo dlugie - jak zorganizowac baze danych z ktorej korzystac bedzie ta wyszukiwarka, zeby to dzialalo w przyzwoitym tempie? Mozna oczywiscie dla kazdego pliku zrobic rekord skladajacy sie z pola z zawartoscia pliku i pola z nazwa pliku (ewentualnie jeszcze adresem) ale to bedzie strasznie duza baza. Mozna tez otwierac pliki po kolei i je przeszukiwac ale to bedzie jeszcze dluzsze... Czy jest jakis lepszy sposob na wyszukiwanie plikow ktore zawieraja dane slowo?

pozdrawiam,
feel
[Regis]
Generalnie bazy danych, nawet te wielkie (ktos chyba kiedys to podawal jakies wyniki testow i mowil o pracy na bazie z kilkoma milionami rekordow, jesli mnie pamiec nie myli...) sa dosc szybkie, a na pewno zdecydowanie szybsze niz inne metody - polecam skatalogowanie wszystkiego w bazie i korzystanie z tej bazy!
feel
ok - to juz wiem ze robic za pomoca bazy. Tylko czy ta baza ma byc zorganizowana w sposob tradycyjny tzn taki jak opisalem wyzej czy jest tez jakis szybszy sposob? Czy sa pola w postgrsql lub mysql ktore moga przyjac dowolna dlugosc (takie ktore zmieszcza np zawartosc kilkudziesiecio stronicowego pliku worda)?
dragossani
A dlaczego chcesz wrzucać treść pliku do bazy danych? Przecież plik Worda i tak jest swoistą binarką i raczej nie ma sensu szukać czegoś po treści...
feel
nie chce wrzucac przeciez postaci binarnej tylko tresc tych plikow
feel
a te tresc bedzie skojarzona w bazie z odpowiednia nazwa pliku i jak ktos znajdzie jakies szukane slowo to mu sie ma wyswietlic w jakim to jest pliku
dragossani
W takim razie tworzysz strukturę najprostszą - taką jak opisałeś w pierwszym poście. MySQL od niedawna ma niezłe wsparcie dla FULLTEXTSEARCH - nie powinieneś mieć problemów. Dla podniesienia wydajności możesz zastanowić się nad mechanizmem cache'ującym wyniki zapytań - jeśli jakiś element zapytania się powtórzy, będziesz miał gotowe odpowiedzi.
feel
dzieki - to juz prawie jestem w domu - pozostaje tylko kwestia: jaki typ pola uzywa sie do przechowywania tekstu o nieograniczonej dlugosci?
[Regis]
O kurcze, a mozna? Jak tak, to ja tez jestem ciekaw - ja znam tylko blob-a smile.gif
wojtek
LONGTEXT - pole to moze przechowywac 4 294 967 295 bajtów, czyli powinno wystarczyc :)
DeyV
ale dziś naszło mnie na porządki ... temat przeniesiony z PRO
uboottd
A jak czesto sie zmieniaja te pliki ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.