Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
Witam,
Przeszukałem podobne wątki na forum, jedna widzę że nikomu nie udało się podać konkretnego algorytmu do porównania pobranych produktów z pliku xml z tymi znajdującymi się już w sklepie. Niestety muszę coś takiego opracować i chciałbym przeprowadzić burze mózgów hehe. Może uda się wspólnymi siłami coś osiągnąć w tej sprawie A więc opisze problemy z którymi się spotykam przy porównaniu produktów w celu dodania do bazy. 1) Przy użyciu FullText. Gdy mamy produkt w pliku xml o nazwie np "Aparat Sony P560" a w bazie posiadam produkt o nazwie "Mio DigiWalker P560" to niestety zapytanie wyświetla ten produkt jako podobny, mimo tego że są to 2 różne rzeczy. 2) Przy użyciu [b]`
niestety porównuje produkty dosłownie. "Aparat Sony P560" oraz "Aparat Sony P560 2GB" wychodzą jako 2 rózne produkty. Czy ktoś ma jakiś pomysł jak to rozwiązać Mam nadzieję że pomysłów będzie sporo. Bo nie tylko ja mam ten problem jak zauważyłem Ten post edytował Sajrox 9.09.2008, 22:19:27 |
|
|
|
![]() |
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%)
|
1) Może po prostu nie bierz pod uwagę cyfr? Jak jest jakiś nowszy model i np. do oznaczenia dodadzą p, to skrypt i tak powinien znaleźć po innych wyrażeniach.
2) Czy ja źle programuje, czy Cytat `nazwa` LIKE '%1 slowo produktu%' AND `nazwa` LIKE '%2 slowo produktu%' AND `nazwa` LIKE '%3 slowo produktu%' itd... jest źle napisane?Moim zdaniem powinno wyglądać to tak: Cytat `nazwa` WHERE `nazwa` LIKE '%1 slowo produktu%' Ja już się pogubiłem. Gdzie jest nazwa tabeli? Jak dla mnie, to dziwnie to napisałeś. Czy "nazwa" to nazwa tabeli, czy pola? Ten post edytował Kildyt 9.09.2008, 22:10:35 -------------------- |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
To miał być tylko przykład by pokazać sam sens.
Chodzi o to że dziele nazwę produktu na pojedyncze słowa i tworze zapytanie w którym po WHERE bedzie to co napisalem czyli `nazwa` LIKE '%1 slowo produktu%' AND `nazwa` LIKE '%2 slowo produktu%' itd... Proszę nie traktować tego jako działający kod, ponieważ to tylko przykład. Myślę że każdy wie o co chodzi |
|
|
|
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%)
|
Aż kurs mysql przeczytałem, czy na pewno o czymś nie wiem. Przeczytałem i dalej nie wiem.
Co to jest te: Cytat AND `nazwa` ?Jak dla mnie to możesz to dać do warunku, a nie po LIKE. Napisz lepiej konkretne zapytanie do bazy bo tak się można pogubić. Edit No dobra, już zrozumiałem. Sory, ale jakoś nie mogłem sobie to wyobrazić Edit: Moja koncepcja sortowania: Zliczasz pojedyncze słowa (np. Sony), we wszystkich produktach i w tych, w których znajdziesz to wyrażenie oznaczasz ją. Jeżeli kolejne wyrażenie znajdziesz w tym produkcie, to liczby podobnych słów będzie już 2. A później tylko wyświetlić przedmioty, które takich podobnych słów będą miały najwięcej. Ten post edytował Kildyt 10.09.2008, 06:51:21 -------------------- |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 02:04 |