Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyszukiarka pełnotekstowa
Legion
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 16.08.2008

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


Witam,

próbuję napisać wyszukiwarkę pełnotekstową skonstruowałem takie zapytanie

  1. SELECT *, MATCH(tytul) AGAINST('slowo1 slowo2' IN BOOLEAN MODE) AS trafnosc FROM cms_products WHERE MATCH(tytul) AGAINST('slowo1 slowo2' IN BOOLEAN MODE) AND MATCH(tresc) AGAINST('slowo1 slowo2' IN BOOLEAN MODE) ORDER BY trafnosc DESC


to zapytanie zwraca produkty w którego tytule i treści występuje co najmniej jedno ze słów. Pytanie jak przekształcić to zapytanie żeby zwracało produkt tylko wtedy gdy np w tytule wystąpi słowo1 oraz w treści wystąpi słowo2 (dowolna kombinacja ważne aby występowały te dwa słowa nie koniecznie obok siebie)

Pozdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
ulow
post
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 4
Dołączył: 18.05.2010

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


stworzyć indeks słow. więcej o wyszukiwarce jest w dziale pro (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Legion
post
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 16.08.2008

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


W tabeli są utworzone indexy fulltext dla kolumn tytuł i tresć.
Go to the top of the page
+Quote Post
mkozak
post
Post #4





Grupa: Zarejestrowani
Postów: 78
Pomógł: 4
Dołączył: 21.03.2005

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


  1. SELECT *, (MATCH(artist) AGAINST('Paolo Sade' IN BOOLEAN MODE) + MATCH(title) AGAINST('Paolo Sade' IN BOOLEAN MODE)) AS efekt
  2. FROM album


Na innej tabeli, bo taką akurat miałem u siebie, ale zasada jest ta sama.
Jeżeli 'efekt' = 2 znaczy wystąpiło jedno ze słów w obu kolumnach
Go to the top of the page
+Quote Post

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: 22.08.2025 - 16:10