Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Fulltext] Wyszukiwanie po częsci wyrazu
woj_tas
post
Post #1





Grupa: Zarejestrowani
Postów: 230
Pomógł: 36
Dołączył: 31.03.2006
Skąd: Zielona Góra

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


Witam

Jeżeli w wyszukiwaniu full tekstowym nie użyjemy operatorów (nie wiem jak to nazwać) to możeu szikać po części wyrazu, np:
  1. SELECT *,
  2. MATCH(firmy.nazwa, firmy.opis, kategorie.slowa_kluczowe, firmy.miejscowosc) AGAINST ('budownictwo war' IN BOOLEAN MODE) AS score
  3. FROM firmy LEFT JOIN kategorie ON kategorie.id = firmy.kategoria_id
  4. WHERE MATCH(firmy.nazwa, firmy.opis, kategorie.slowa_kluczowe, firmy.miejscowosc) AGAINST ('budownictwo war' IN BOOLEAN MODE) ORDER BY score DESC


Wyszuka wszystkie firmy z budownictwa oraz miejscowości (tzn wzystkie pola) które maja w nazwie słowo 'war'. No tak, ale chciałbym ograniczyć wyniki do tych które mają oba te człony, więc daje tak:

  1. SELECT *,
  2. MATCH(firmy.nazwa, firmy.opis, kategorie.slowa_kluczowe, firmy.miejscowosc) AGAINST ('+(budownictwo) +(war)' IN BOOLEAN MODE) AS score
  3. FROM firmy LEFT JOIN kategorie ON kategorie.id = firmy.kategoria_id
  4. WHERE MATCH(firmy.nazwa, firmy.opis, kategorie.slowa_kluczowe, firmy.miejscowosc) AGAINST ('+(budownictwo) +(war)' IN BOOLEAN MODE) ORDER BY score DESC


tylko ze wtedy nie znajduje nic, jeżeli zamienię słowo war na warszawa, działa pięknie, znajduje budownictwo z warszawy, czyli to co chcę.
Pytanie. Jak zrobić żeby znajdywało to co chcę ze słowem war (a nie całym: warszawa)

EDIT:
Znalazłem połowiczne rozwiązania: +(war*) znajduje również warszawę, niestety * nie można użyć z przodu wyrazu.

Ten post edytował woj_tas 31.05.2010, 21:56:12
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: 24.08.2025 - 10:44