Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Wyszukiwarka
wNogachSpisz
post
Post #1





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Witam
Chciałbym stworzyć wyszukiwarkę na mojej stronie.
Wyszukiwanie obbywać się będzie względem artykułów.
Chciałbym aby możliwe było wpisanie słowa i wyszukanie trafień we wszystkich artykułach.
Każdemu słowu odpowiada jeden lub więcej artykułów.
Do głowy przychodzą mi dwa, maksymalnie trzy pomoysły na projekt bazy danych, niestety żaden nie jest idealny.

Pomysł 1.
Każdemu słowu będzie odpowiadała lista z numerami artykułów w których występuje:

słowo (STRING)
artykuł (ID)

Przykład:
'iguana' -> 1,2,4,500,3232,1221,1121212,998762

Problem w tym, że dla najpopularniejszych słów, lista identyfikatorów artykułów będzie bardzo duża,
możliwe że większa niż limit rozmiaru danych możliwych do przesłania między bazą a skryptem...
Na domiar złego popularność słowa będzie oznaczała częste aktualizacje tego ciężkiego wiersza..
Mógłbym ewentualnie zamiast w bazie trzymać tę liste identyfiatorów w zwykłym pliku (na marginesie to jest to chyba jedyne rozwiązanie).

Pomysł 2.
Jeden wiersz, jedna relacja słowo -> artykuł.

Problem w tym że taka baza danych będzie zawierała mniej więcej tyle wierszy ile słów we wszystkich artykułach razem wziętych... Będzie ona monstrualnie wielka, a szybkość jej działania pozostawi wiele do życzenia..

Pomysł 3 polega na rozszerzeniu pomysłu 1 o dodanie do każego słowa roku oraz miesiąca, co w połączeniu ze specyficznym prezentowaniem wyników dało by jakiś tam efekt..

Czy ktoś z Was ma ciekawe pomysły jak rozwiązać ten problem?
Z góry dziękuję za odpowiedzi.

Pozdrowienia

Ten post edytował wNogachSpisz 24.10.2011, 16:12:55
Go to the top of the page
+Quote Post
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Hej
Polecam zastosowanie Apache Solr jest mega wydajne, o wiele szybsze niż szukanie w bazie i praktycznie nie ma limitu dla wielkości zaindeksowanych danych. Dodatkowo obsługuje load balancing, stemming, faceting i mlt. Polecam! Wdrożyłem to rozwiązanie w dość dużej sieci sklepów, wdrażam w kolejnych i wszyscy są jak dotąd zadowoleni włącznie ze mną z efektów.
Go to the top of the page
+Quote Post
konrados
post
Post #3





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


@wNogachSpisz A czemu Twoje rozwiązania miały być lepsze niż zwykłe select z użyciem regular expression?

Ten post edytował konrados 24.10.2011, 16:19:46
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cytat(konrados @ 24.10.2011, 17:19:21 ) *
@wNogachSpisz A czemu Twoje rozwiązania miały być lepsze niż zwykłe select z użyciem regular expression?

Chodzi Ci o full-text-search ?
Go to the top of the page
+Quote Post
konrados
post
Post #5





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Cytat
Chodzi Ci o full-text-search ?


No tak, a co, za wolne? Tzn. ja nie wiem - wydawało mi się zawsze, że to będzie szybsze od jakichś autorskich rozwiązań.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cytat(konrados @ 24.10.2011, 17:43:51 ) *
No tak.

Skoro o to chodzi, to moje rozwiązanie różni się od full-text-search
mniej więcej tak jak Fiat 126p różni się od Bugatti Veyron SS.

Przy.. dajmy na to.. 10 milionach artykułów (nie przesadzam), szukanie full-text będzie trwało jakieś 500 lat, podczas gdy moim sposobem (Pomysł 1) zajmie to jakieś 0,004 sek.

@Darko
spoko, tyle że ja szukam czegoś własnego, mam do dyspozycji php i mysql w standardowych instalacjach, słowem ma to ruszyć na hostingu za 5zł.
sorki że nie napisałem tego na początku.

Cytat(konrados @ 24.10.2011, 17:43:51 ) *
Tzn. ja nie wiem - wydawało mi się zawsze, że to będzie szybsze od jakichś autorskich rozwiązań.

Źle Ci się wydawało.
Go to the top of the page
+Quote Post
konrados
post
Post #7





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


@wNogachSpisz
Interesuje mnie ten temat, nie zapomnij tu napisać, choćby i za miesiąc, który scenariusz wybrałeś i jak poszło. Ja tu na pewno zajrzę za miesiąc i jak nic nie napiszesz, wyślę pw z przypomnieniem (IMG:style_emoticons/default/smile.gif)


Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 13:02