Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyszukiwanie fulltekstowe problem
Forum PHP.pl > Forum > Bazy danych > MySQL
jarmiar
  1. SELECT
  2. *,
  3. MATCH (name, name2, keywords) AGAINST ('%".$q."%') AS score,
  4. IF(premium=1, ( count_c_rec + count_cp_rec * $premium ), 0) AS entry_avg,
  5. IF(premium=1, (count_s_rec + count_c_rec + count_cp_rec ), 0) AS count_total
  6. FROM users
  7. WHERE MATCH (name, name2, keywords) AGAINST ('%".$q."%') AND active=1
  8. ORDER BY score DESC, entry_avg DESC


mimo, że w polu name znajduje się wyszukiwana przeze mnie fraza, mysql nie zwraca żadnego rekordu co tu może być źle? ewentualnie jak wy byście to zrobili?
nospor
Jestes pewien, że masz frazę, która zawiera się między znakami %%?

W FULL TEXT SEARCH nie używa się %...
jarmiar
Cytat(nospor @ 10.06.2013, 16:16:39 ) *
Jestes pewien, że masz frazę, która zawiera się między znakami %%?

W FULL TEXT SEARCH nie używa się %...


jak usunę % to nadal nie zwraca mi rekordu...
nospor
Pokaz kod po poprawkach. Tym razem pokaż go w całości z php, bo czort wie czy poprawnie składasz to zapytanie, a potem pokaż mi wynik
echo $sql;
jarmiar
  1. SELECT *, MATCH (name, name2, keywords) AGAINST ('%portal%') AS score,
  2. IF(premium=1, ( count_c_rec + count_cp_rec * 10 ), 0) AS entry_avg,
  3. IF(premium=1, (count_s_rec + count_c_rec + count_cp_rec ), 0) AS count_total
  4. FROM users
  5. WHERE MATCH (name, name2, keywords) AGAINST ('%portal%') AND active=1
  6. ORDER BY score DESC, entry_avg DESC LIMIT 10 offset 0



to jest wynikowe zapytanie

fraza "portal" znajduje się w tym przypadku w polu keywords, natomiast inna fraza, którą wpisywałem znajdowała się w polu name, ogólnie to wszystkie możliwości sprawdziłem
nospor
facepalmxd.gif
Przecież nadal masz %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!
jarmiar
nom, ale jak pisałem wyżej, po usnięciu nadal nie pomaga smile.gif
nospor
facepalmxd.gif
Jak mowie, że masz usunac, i pokazac kod wynikowy po usunięciu, to naprawdę tu nie ma żadnego haczyka z mojej strony :/


A index FULL TEXT na te pole w ogóle założyłeś?
jarmiar
oczywiście że tak

EDIT.

dodanie IN BOOLEAN MODE w AGAINST rozwiązało problem
szukana fraza stanowiła więcej niż 50% objętości całego pola smile.gif
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.