Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Konfiguracja Fulltext? Jakie są opcje konfiguracji tego mechanizmu?
Forum PHP.pl > Forum > Bazy danych > MySQL
kukix
Witam.

Przygotowałem wysukiwarkę na bazie FULLTEXT.. problem w tym, że dziąła dosyć dziwnie.. mianowicie.. jeżeli wpiszę w wyszukiwarce "w100i" to pokazuje mi dwa wyniki.. a jak wpisze "w100" to nie zwraca mi żadnych wyników thumbsdownsmileyanim.gif

Czy można coś zrobić, żeby nie trzebab yło wpisywac całych wyrazów, ale żeby można było tez wycinki?
erix
A wpisz
Kod
w100*
? wink.gif`
kukix
Cytat(erix @ 27.06.2011, 22:29:12 ) *
A wpisz
Kod
w100*
? wink.gif`

Ja o tym wiem, ale Ci co wyszukiwarką nie wiedzą.. kiedyś widziałem na tym forum na wyszukiwarce było coś takiego do zaznaczenia, żeby wyszukiwał tylko "całe wyrazy".. i to pole checkbox uruchamiało jakiś mechanizm w wyszukiwarce, ale nie wiem jaki..
erix
No to wtedy wystarczy przeparsować każdy wyraz i dopisać tego wildcarda "wewnętrznie". [;
by_ikar
No a jak szukasz w bazie danych, np mysql, to też liczysz na to że użytkownik ci wklepie LIKE %something% ? czy sam opakowujesz "something" w proceny ?
kukix
Witam jeszcze raz.

Pozwolę sobie odgrzać ten temat.

Mam już zbudowaną wyszukiwarkę na podstawie mechanizmu FULL TEKST.

Problem w tym, że jak podaje "książka" to pokazuje mi odpowiednie wyniki, natomiast jak podam "książk" to nie pokazuje nic.

Próbowałem dodac na końcu gwiazdkę *, ale nie pomaga.. czy mam wyłączone wyrażenia regularne, czy czym to może być spowodowane?
erix
Pokaż zapytanie, jakiego używasz.
kukix
Cytat(erix @ 22.11.2011, 16:17:18 ) *
Pokaż zapytanie, jakiego używasz.



Witam. chciałem wrócić do tego tematu.

Przeszkadza mi strasznie to, że jak wpisze częśc wyrazu to nie wyszukuje mi tego co potrzebuje.

Nie jestem zadowolony z tego FULLTEXT'u .. nie można wpisac połowe wyszukiwanej frazy, ale idealnie całą.. tak samo widze, że działa na allegro.. często próbuje dokładać gwiazdki * ale to i tak raz pomaga raz nie..

U mnie jak dokładam na końcu gwiazdkę to też nie pomaga.. czy ten fulltext ma jakieś opcje konfiguracji ?

Moj zapytanie wygląda tak:

  1. SELECT SQL_CALC_FOUND_ROWS *,
  2. MATCH(nazwa, opis_krotki, keywords, param_a, param_b, kod) AGAINST ('".mysql_escape_string($_GET['szukaj_fraza'])."') AS score
  3.  
  4. FROM art
  5.  
  6. WHERE
  7. ( (MATCH(nazwa, opis_krotki, keywords, param_a, param_b, kod) AGAINST ('".mysql_escape_string($_GET['szukaj_fraza'])."'))
  8. OR id LIKE '%".mysql_escape_string($_GET['szukaj_fraza'])."%' )
  9. AND zablokuj=0
  10.  
  11. ORDER BY score DESC
  12.  
  13. LIMIT 0 20;
Niktoś
Jeśli działa Ci tak jak na allegro to chyba dobrze działa.Chyba ,że także masz problemy z wyszukiwaniem produktów na tamtym portalu.Wątpię czy w MySQL'owym FULL TEXT SEARCH uda się takie coś uzyskać, na pewno w MSSQL dało by się, gdyż w samym wyszukiwaniu można ustawić stopień precyzji słowa wyszukiwanego a dodatkowo opierać sie o słownik Tazarusa gdzie można na przykład pomijać spójniki lub określić wyrazy bliskoznaczne dla wyszukiwanej frazy.FULL TEXT SEARCH w MySQL jest ubogi w porównaniu z MSSQL ,ale to tylko nowinka.
Użytkownik po prostu niech wpisuje poprawnie szukane frazy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.