Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie pełnotekstowe FULL-TEXT
Forum PHP.pl > Forum > Bazy danych > MySQL
malesja
Może mi ktoś wytłumaczyć sposób wykorzystywania wyszukiwania full-text?
Czy w poniższym przykładzie baza sortuje mi wynk wg trafności?

  1. SELECT * FROM articles WHERE MATCH (title, body) AGAINST ('baza danych')


Powyzszy przykład daje wyniki i chyba sortuje wg trafności, ale znalazłem na stronie taki przykład poniżej i chciałbym aby były podawane wagi dla znalezionych słów aby sortowanie przebiegało od najtrafniejszych do najmniej trafnych? Ale ponizszy przykład mi nie działa co jest, źle jak to zrobć abym miał najlepsze wyniki i widział, który wynik ma jaką wartość, podajcie mi jakiś przykład, albo poprawcie ten poniższy.

  1. SELECT *, MATCH(title, body) AGAINST('baza danych') AS `score` FROM articles MATCH(title, body) AGAINST('baza danych' IN BOOLEAN MODE) ORDER BY score DESC LIMIT 10
vokiel
Zgubiłeś where:
  1. SELECT *, MATCH(title, body) AGAINST('baza danych') AS `score` FROM articles WHERE MATCH(title, body) AGAINST('baza danych' IN BOOLEAN MODE) ORDER BY score DESC LIMIT 10
malesja
Mam taki przykład gdzie mam dodatkowy wiersz SCORE gdzie są podawane wagi dla znalezionych fraz i wg tych punktów następuje sortowanie od największych do najmniejszych punktów:
  1. SELECT * , MATCH (title, keywords, abstract) AGAINST ('projekt sklepu') AS score
  2. FROM ms_users_college WHERE MATCH (title, keywords, abstract) AGAINST ('projekt sklepu')
  3. ORDER BY score DESC LIMIT 0 , 30


A jak zrobić w poniższym przykładzie abym miał też dodatkowy wiersz z punktami i wg nich sortował wyniki? Bo teraz sortuje mi wg daty.

  1. SELECT user_id, ms_users_college.id AS id, title, abstract AS abstract, name, department, faculty, kind_of_work, work_file, user_name, user_surname, date_of_defense, promoter_surname, promoter_name, promoter_title
  2. FROM ms_users_college
  3. LEFT JOIN ms_college ON ms_users_college.id_college = ms_college.id
  4. LEFT JOIN ms_college_department ON ms_users_college.id_department = ms_college_department.id
  5. LEFT JOIN ms_faculty ON ms_users_college.id_faculty = ms_faculty.id
  6. LEFT JOIN ms_kind_of_work ON ms_users_college.id_kind_of_work = ms_kind_of_work.id
  7. LEFT JOIN ms_users ON ms_users_college.id_user = ms_users.user_id
  8. LEFT JOIN ms_promoter_title ON ms_users_college.id_promoter_title = ms_promoter_title.id
  9. WHERE MATCH (title,abstract,keywords) AGAINST ('projekt sklepu' IN BOOLEAN MODE)
  10. ORDER BY date_of_defense DESC
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-2024 Invision Power Services, Inc.