![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 1 Dołączył: 2.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Siedzę już od ponad 3 godzin i grzebię w tym necie w poszukiwniu jak zrobić by w bazie danych wyszukiwać zadanych fragmentów tekstu (przez wyszukiwarkę). Wyczytałem o przeszukiwaniu pełnotekstowym za pomocą MATCH AGAINST, nawet dokumentacje do tego znalazłem na Fultext search ale szczerze powiedziawszy dalej kompletnie nie wiem o co z tym chodzi. Pytanie sformułować jest nie problem tylko nie wiem co mam zrobić by FULLTEXT dodać do tablicy w MySQL. Piszą tam że od wersji 4 jest to standardowo dostępne, i mimo ze mam nową wersję MySQL to jakoś nie mogę tego nigdzie znaleźć. Poza tym wyczytałem też gdzieś, że są jakieś problemy z używaniem tego odnośnie ilości trafień itp (że nie można tych kryteriów zmienić). Może napisze do czego jest mi to potrzebne: mam zrobioną wyszukiwarkę produktów, w której użytkownik poza wpisaną frazą (tekstem) wybiera 3 opcje z list rozwijalnych, dotego 2 opcje są ukryte w formularzu - okreslajace rodzaj i typ produktu. Chce zbudować wyszukiwarkę za pomocą której poprzez odpowiednio sformułowane zapytanie do BD uzyskam odpowiednie wyniki. Wiem że można używac MATCH AGAINST kilka razy w zapytaniu odnośnie różnych kolumn i tekstów wyszukiwania. Problem jest w tym, że nie wiem jak się za to zabrać, a angielki u mnie jest na słabym poziomie. Byłbym bardzo wdzięczny jak by mi to ktoś wytłumaczył. Bo mogę to rozwiązać pobierając odpowiednią ilość rekordów a potem kontrolujac je za pomocą eregów czy zawiera odpowiedni wpis jak tak to wyświetl. Ale to po pierwsze zajmie sporo kodu a po drugie skoro można to łatwiej rozwiązać to nie chce mi się na około tego kodu klepać. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 15 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Sprobuj z LIKE , NP:
Przy czym znak % okreska z ktorej strony moze stac dowolny ciag znakow. Czyli jesli masz powiedzmy w bazie 'kakao' i uzyjesz : '%kao', 'ka%' to bedzie zawsze prawdziwe. Jesli dasz bez % to wyszuka Ci konkretna fraze. Ten post edytował CyberDuck_ 30.09.2009, 15:23:25 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Sprobuj z LIKE , NP:
Przy czym znak % okreska z ktorej strony moze stac dowolny ciag znakow. Czyli jesli masz powiedzmy w bazie 'kakao' i uzyjesz : '%kao', 'ka%' to bedzie zawsze prawdziwe. Jesli dasz bez % to wyszuka Ci konkretna fraze. LIKE nie jest wyszukiwaniem pełnotekstowym, ani nie skaluje się - przy dużej ilości rekordów będzie wykonywane bardzo długo. Co do wyszukiwania w MySQL to można zastosować pełnotekstowego silnika dla tabel MyISAM, lecz lepszym rozwiązaniem będzie podpięcie Sphinxa - http://www.sphinxsearch.com/ - jeżeli ten sklep ma być jakimś większym i nastawionym na wysoką jakość (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 21:08 |