Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka na forum, Własny skrypt forum.
tomahawk
post 16.03.2008, 17:49:39
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 1
Dołączył: 5.02.2007

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


Witam!

Piszę własny skrypt forum.

Właściwie została mi już tylko wyszukiwarka i naprawienie paru błędów.

Nie mam żadnego pomysłu.

Zwykłe 'surowe' zapytania z LIKE do bazy w której jest dużo postów zabiera strasznie dużo mocy procka.

Oglądałem różne inne skrypty forum i zauważyłem że każdy ma jakieś skomplikowane te wyszukiwarki...
Np. jest odzielna tabela dla wyszukiwanych słów (tzw. search history) i z tym się coś "je" ale nie zagłębiałem się zabardzo w kody skryptów bo niewiem czy to będzie właściwe rozwiązanie.

Jak proponujecie zrobić tą wyszukiwarkę?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
matix
post 16.03.2008, 19:21:41
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Dodaj FULLTEXT do tytułów i body i wykorzystaj wyszukiwanie pełnotekstowe, tj:

  1. SELECT posts.id, MATCH(body) AS score AGAINST ('szukane') FROM posts UNION SELECT topic.id, MATCH(title) AS score AGAINST ('szukane') FROM topic


Pozdrawiam =)


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
Go to the top of the page
+Quote Post
bim2
post 16.03.2008, 19:24:06
Post #3





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Napisz dokłądniej w czym będziesz szukal, czy to będzie teskt czy jak? Ile tego tekstu bedzie.
Ja robie osobną tabele
| FRAZA | ID |
i w niej zapisuję każdy osobny wyraz i link do treści. W trakcie dodania treści dodaje się FRAZA np. dla
"Lubię kofane koty" doda się
LUBIE | 1
KOFANE | 1
KOTY | 1

1 to id treści smile.gif


--------------------
Go to the top of the page
+Quote Post
tomahawk
post 16.03.2008, 20:26:31
Post #4





Grupa: Zarejestrowani
Postów: 74
Pomógł: 1
Dołączył: 5.02.2007

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


@matix
Nie rozumie za bardzo tego co napisałeś... ale może to rozgryzę...

@bim2
No będę szukał w postach i/lub nazwach tematów. A wyświetlał będę tylko wg. tematów

Nie wiem czy dobrze to rozumiem ale tobie chodzi oto że jak dodaje posta to dziele tego posta na frazy i poszczególne frazy zapisuję do bazy wraz z id tematu, a potem jak znajdzie tę frazę to pobieram id tematu dla tej frazy u wyświetlam temat?

Cóż tak jest chyba w większości skryptów for ale przecież jeśli takie coś zastosuje to ta tabela z frazami będzie miała miliony rekordów gdy postów będzie zaledwie kilkaset tysięcy.
Go to the top of the page
+Quote Post
bim2
post 17.03.2008, 19:09:09
Post #5





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Dlatego pytałem co będziesz szukał smile.gif, ale jeśli boisz się LIKE to innego rozwiązania nie znam. I tak mniej to zarżnie baze niż like, ale wielkość niemiłosierna chyba, że dasz np VARCHAR(60) i te dłuższe wyrazy skróci :)albo zapisujesz frazy po przecinku i bedziesz usuwał 2 literowe i 1 literowe wyrazy. Wtedy nadal zostaje like, ale już tyle szuakć nie musi?
"Ala lubi koty!!!!!!!
Co ty sobie myslisz?questionmark.gif!?exclamation.gif!!!"
Ala,lubi,koty,sobie,myslisz


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:11