Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyszukiwanie wazone, czy jakos tak
di@blo
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 9.03.2005

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


Chce zrobic prosta wyszukiwarke ktora by wyszukiwala z 2 pol

  1. SELECT tytul, tresc FROM tabela WHERE tytul=$zapytanie OR tresc=$zapytanie;


ale chodzi o to zeby uporzadkowal wyniki tak aby te rekordy ktore w tytule maja lowo kluczowe byly 2 razy bardziej brane pod uwage Ewentualnie jesli to mozliwe braly pod uwage ilosc wystapien slowa kluczowego

Jak by ktos rzucil przykladem bylbym wdzieczny i jak by ktos podal godnego polecenia linka do kursu opisujacego to zagadnienie to byloby super

tak przy okazji pytanie czy zwroci mi cokolwiek zapytanie z warunkiem
  1. ..... WHERE warunek1=$costam1 AND warunek2=$costam2 AND warunek3=$costam3

jesli ktoras ze zmiennych $costam bedzie pusta?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


przyjacielu sedziwoj ...
Cytat
A ja bym polecił poszukać o wyszukiwaniu pełno tekstowym i rankingowaniu (w PostgreSQL jest tsearch2)
....
Do tego korzystasz z specyficznego działania MySQL'a

kolega di@blo umieścił temat w dziale MySQL a nie PostgreSQL ... poza tym nigdzie nie napisał, ze che używać full text search na polach typu text ... pozwólmy zainteresowanemu wypowiedzieć się samodzielnie, która sugestia jest bliższa rozwiązania jego problemów ... poza tym
Cytat
Nie dałeś nic więcej ode mnie w możliwościach do tego
a co ty dałeś ? korektę do ORDER BY ... naprawdę rozbawiłeś mnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #3





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


Cytat(nevt @ 16.04.2008, 22:28:04 ) *
przyjacielu sedziwoj ...

Na pewno nie przyjacielu, na takie miano trzeba zasłużyć.
Cytat
kolega di@blo umieścił temat w dziale MySQL a nie PostgreSQL ... poza tym nigdzie nie napisał, ze che używać full text search na polach typu text ...

To była tylko sugestia, taka wstępna, nic nie miała do dalszej wypowiedzi, ani jej nie rozwijałem, po prostu napomknąłem o innych rozwiązaniach.
Cytat
a co ty dałeś ? korektę do ORDER BY ... naprawdę rozbawiłeś mnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


I ta korekta robi to co Twoje wspaniałe rozwiązanie, robi to szybciej, więc nie jestem pewien z czego to rozbawianie. Bo chyba nie zwróciłeś nawet uwago co ta korekta robi, a robi sporo.
Więc radzę przetestować to co napisałem z różnymi mnożnikami i sumą trafności innych warunków, niż nabijać się z czegoś czego nawet nie zrozumiałeś.

P.S.
Zobaczyłem literówkę, bo miało być waga, ale nie będę zmieniać aby nie poszły domysły o manipulacji.
Ogólnie to wgląda tak, dopowiadam jakby ktoś nie zrozumiał
  1. ORDER BY (<nazwa kolumny> = <wartość>) * waga1 + (<nazwa kolumny2> LIKE <wartość2>) * waga2... itd.

Ponieważ porównanie daje 0 lub 1 mamy dwie wartości, możemy użyć ilości wystąpień słowa wtedy mamy też brane pod uwagę ilość wystąpień, możliwości jest sporo, ważne w tym jest to żeby właśnie użyć ORDER BY nie na wartościach bezpośrednio, a na pewnie przetworzonych.
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 11:56