![]() |
![]() |
-lukasamd- |
![]()
Post
#1
|
Goście ![]() |
Witam,
modyfikuję obecnie na własne potrzeby pewnego CMSa (a dokładniej php-fusion). Domyślnie gdy użytkownik wchodzi do jakiegoś artykułu, skrypt szuka w bazie arta o odpowiednim id (a ten jest przekazywany przez adres metodą GET np. readarticle.php?article_id=1) i z niego odczytuje wszelkie informacje potrzebne do wyświetlenia treści na stronie. Ja zastąpiłem id inną, tekstową a nie numeryczną wartością - article_url. Stosuję to po to, aby dodać przyjazne i wygodniejsze linki np: artykuly/nazwa-artykulu. Oczywiście korzystam z mod_rewrite. Ma wobec tego pewne pytanie: normalnie tabela korzystała tylko z indeksu właśnie na id. Czy warto dać index fulltext na pola od url oraz tytułu. To drugie po to, aby wyszukiwanie artykułów w szukajce dla użytkowników również było wydajniejsze (dziwne, że nie było tego w standardzie...). Nie wiem czy dobrze kombinuję, bo nie miałem jeszcze okazji używać fulltexta. Wszędzie jest jednak rozsławiany przy wyszukiwaniu tekstu. Jeżeli można prosić - oświećcie mnie w tej kwestii (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował lukasamd 17.01.2009, 11:23:05 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1. Fulltext ma inne api wyszukiwania niz zwykle WHERE .... , wiec jak nie bylo wykorzystywane to ten index nic ci nie da.
2. Jesli szukasz artykulow po url-u to MUSISZ miec indeks na to pole, co znacznie przyspieszy ich wyszukiwanie. Lub dodaj id artykulu do URLi : artykuly/nazwa-artykulu-123.html i nadal korzystaj z ID |
|
|
-lukasamd- |
![]()
Post
#3
|
Goście ![]() |
No właśnie chcę wywalić nawet id, ponieważ wygląda to kijowo (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Muszę... no właśnie tak podejrzewałem. Nie rozumiem pierwszego punktu (api?) - modyfikując robię gruntowną przebudowę, wliczając w to tworzenie tabel w bazie od nowa, więc mogę wrzucić (jeżeli o to Ci chodziło). |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Jesli chcesz budowac szukarke od nowa - prosze bardzo - wszystko da sie osiagnac, ale napisales tylko tyle:
Cytat Czy warto dać index fulltext na pola od url oraz tytułu. To drugie po to, aby wyszukiwanie artykułów w szukajce dla użytkowników również było wydajniejsze (dziwne, że nie było tego w standardzie...). co zrozumialem "do standardowej szukarki php-fusiona dodalem fulltext-index aby wyszukiwanie bylo szybsze". Jesli szukarka nie korzystala z fulltextowych indeksow, to ich dodanie NIC nie zmieni (musisz szukarke poprawic), bo API korzystania z FULLTEXT jest: "MATCH (col1,col2,...) AGAINST (expr [search_modifier])" i nie moze dzialac jak nei masz odpowiedniego indeksu (nie miales, wiec nie jest przystosowana do fulltexta, wiec dodanie indeksu nic nie zmieni - hmm, mam nadzieje ze nie zakrecilem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html |
|
|
-lukasamd- |
![]()
Post
#5
|
Goście ![]() |
Szukajkę dostępną dla userów też będę poprawiał, w niej oprócz url'a będzie się też liczył tytuł, więc jemu też dam fullindexa.
Najbardziej zależy mi na szybkim wyszukiwaniu artykułu, gdy ktoś po prostu na niego wejdzie przez przyjazny link -> oryginalnie wszystko odbywa się przez article_id z $_GET, u mnie w $_GET jest wartość tekstowa, która później jest wyszukiwana aby znaleźć żądany artykuł. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:50 |