Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwanie fulltext i łączenie tabel
kacpero1094
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 22.12.2008

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


Mam dwie tabele z danymi. W obydwu mam zdefiniowane klucze fulltext. W tej "zasadniczej" na jedną kolumnę, a w tej przyłączanej na dwie kolumny. Potrzebuję przeszukać wszystkie te kolumny. Ułożyłem więc zapytanie:
  1. SELECT *, MATCH(t2.aName,t2.aDescription,t1.bTitle) AGAINST (?) AS `score` FROM table1 AS t1 JOIN table2 AS t2 ON t1.bId = t2.bId WHERE MATCH(t2.aName,t2.aDescription,t1.bTitle) AGAINST (?) ORDER BY `score` DESC LIMIT 30

To zapytanie zwraca błąd #1210 - nieprawidłowe argumenty do match. Potrzebuję tak zbudować zapytanie, żeby wykonywało opisane wyżej zadanie. Mam nadzieję, że to, które tu napisałem, pomoże lepiej zrozumieć o co mi chodzi smile.gif
Proszę o informację, czy w ogóle jest opcja, żeby coś takiego zrobić.

Ten post edytował kacpero1094 16.07.2011, 12:34:04


--------------------
kacperkolodziej.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Bez łączonej dzieje się to samo?

Pola przeszukiwane mają założony indeks FULLTEXT?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kacpero1094
post
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 22.12.2008

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


Bez łączonej jest ok. Bez łączenia to ja umiem cacy smile.gif Chodziło mi tylko o to, czy można "łączyć" klucze fulltext z dwóch tabeli w jednym zapytaniu.
Pisałem:
Cytat
W obydwu mam zdefiniowane klucze fulltext

tak, są do przeszukiwanych kolumn (pól)

Ten post edytował kacpero1094 16.07.2011, 12:46:40


--------------------
kacperkolodziej.pl
Go to the top of the page
+Quote Post
BaN
post
Post #4





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

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


Zastosuj dwukrotnie MATCH, raz na pierwszym indeksie, drugi raz na drugim i chyba warunek OR, nie wynika z treści jaki jest odpowiedni
Go to the top of the page
+Quote Post
kacpero1094
post
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 22.12.2008

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


Warunek AND, ale będę miał dwie trafności (score) i jak to posegregować? Niby można spróbować zrobić order by (`score1`+`score2`), ale czy to będzie efektywne?
W każdym razie spróbuję i napiszę co i jak.


--------------------
kacperkolodziej.pl
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 Aktualny czas: 20.08.2025 - 18:25