Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Fulltext - wyszukiwanie kilku słów bez użycia operatora
herne
post 24.07.2012, 10:16:56
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
nospor
post 24.07.2012, 10:19:11
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ć +?


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
herne
post 25.07.2012, 08:02:39
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 25.07.2012, 08:10:38
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.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:16