Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka tagów
Forum PHP.pl > Forum > PHP
Orzeszekk
Witam, robie sobie na stronie tagi ktore maja sie przyczynic do lepszego wyszukiwania niektorych rzeczy.

Z kolega z ktorym to robie wymyslilem taki system:

tagi idą do tabeli bazy danych

| ID Taga : int/guid | tag name : string |

w momencie gdy ktos podaje mi tag stringa czyli tagi oddzielone przecinkami są one rozbijane, skrypt sprawdza czy wszystkie tagi sa juz w bazie, jesli ktoregos nie ma to dodaje go, i nastepnie w drugiej tabelce

| ID artykulu | ID taga |

zapisuje te tagi ktore odnosza sie do danego artykulu.

teraz sytuacja, ktos wpisuje np tag gospodarka.

zastanawiam sie jak poprawic jakosc wyszukiwania. Na pewno wszystkie tagi przy porownaniach bede konwertowal do lowercase, byc moze wycinal z nich polskie znaki zeby nie wychodzily smieszne sytuacje ze tag "gość" zwroci mi inny wynik niz tag "gosc", tak sie jeszcze zastanawiam nad roznymi formami slow w języku polskich.

moze jesli wyraz jest dluzszy niz np 7 znaków, obciąć z niego 2 ostatnie do wyszukiwania tj

np z wyrazu "masakra" do wyszukiwania wyciąć "masak" i wyszukac jako regexp /^masak(.*?)?/, lub w bardziej swojskiej formie masak*. Dzieki temu znalazloby mi rowniez wyniki dla masakra, masakry, masakrze itd.

A wy jak podeszlibyscie do tego tematu?

slowko bez skojarzen, tak mi sie nawinelo po prostu smile.gif
Niktoś
A może te tagi w rzucić w autocomplete albo w select'cie.Z góry je narzucić.Zamiast użytkownik wpisać tag to by go po prostu sobie wybierał.
Orzeszekk
z góry je narzucić to zły pomysł.. bedzie ich przybywalo i wszystkich nie przewidzimy, natomiast autocomplete jest bardzo dobrym pomysłem smile.gif

niech user sobie pisze tagi w zwyklym inpucie, a w okienku pod spodem będą sie wyswietlac podobne tagi, klikniecie na ktorychs z nich spowoduje wpisanie go do inputa .

ty niktos sporo siedzisz w asp.net mvc wiec podpowiesz mi moze jak zrobic regexp w zapytaniu linq to objects (tj var result = this.db.TableSet.Single(p=>p==costam))
Niktoś
Kurcze ja ci nie pomogę w tym ,gdyż ja na webformsach robię nie na MVC poza tym nie używam linqa do połączeń z bazą danych,składnia mi nie przypadła do gustu-dla mnie to koło sql'a to leżało.
Orzeszekk
Cytat(Niktoś @ 25.03.2012, 00:59:57 ) *
Kurcze ja ci nie pomogę w tym ,gdyż ja na webformsach robię nie na MVC.

entityframework chyba mozna uzywac tez w webformsach smile.gif

Wyprobuj MVC 3, imho jest bardzo dobrze zrobione i znacznie lepsze niz produkty konkurencji i szybciej sie w nim pisze pomimo ze jest wiecej do napisania.

LINQ ma malo wspolnego z SQLem. tylko słowa kluczowe select, where, join itd. Zreszta jest jego kilka wersji - mozesz robic zapytania za pomocą metod i funkcji lambda tak jak w moim powyzszym przykladzie, to tez linq.
zajebiste jest to ze w linqu robi sie zapytania na obiektach. Ogólnie pozwala na sporo kombinacji.
Do tej pory mnie odstraszal, ale praca mnie zmusila do zapoznania sie z tym i teraz uwazam to za swietne narzędzie.
Niktoś
Ja używam u siebie DataAdaptery jak chce jakieś dane przefiltrować.Może kiedyś przyjdzie pora i na to.
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.