Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Fulltext - wyszukiwanie kilku słów bez użycia operatora
herne
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.06.2012

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


Mam zapytanie takie jak poniżej (w oryginale wyszukuje z większej ilości kolumn):

  1. SELECT $p1,$p2,$p3
  2. FROM $tabela
  3. WHERE MATCH ($p2,$p2,$p3)
  4. AGAINST ('$zapytanie*' IN BOOLEAN MODE)


Działa tak, jak powinno, poza jedną rzeczą - teraz po wpisaniu Adam Mickiewicz znajdzie wszystkie pola rekordy ze słowem Adam i ze słowem Mickiewicz. Oczywiście dodanie w zapytaniu operatora +, - i "" odpowiednio załatwia sprawę, ale jak sam zauważyłem, nikt nie czyta instrukcji i ciężko zmuszać kogokolwiek do używania operatora +. AS score też nie sortuje tak, by rekordy ze wszystkimi słowami były wyżej. Jak można przekształcić zapytanie aby odpowiednio wyświetlało?

Ten post edytował herne 24.07.2012, 10:17:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To nie możesz pomyśleć za użytkownika i sam dodać +?
Go to the top of the page
+Quote Post
herne
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.06.2012

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


Dokładnie to zapytanie wygląda tak:
  1. AGAINST ('+$zapytanie*' IN BOOLEAN MODE)

więc jest +, ale stawia się przed pierwszym słowem, a nie przed każdym podanym, więc jeśli dobrze kombinuję, to czy trzeba rozbić frazę na poszczególne słowa i każde z osobna poprzedzić plusem? Poza tym po dodaniu przez użytkownika znaku "-", plusa być nie powinno... ale to akurat kwestia prostego "if".
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
to czy trzeba rozbić frazę na poszczególne słowa i każde z osobna poprzedzić plusem?
No tak.
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: 23.08.2025 - 02:09