![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 9.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
potrzebuję stworzyć jakiś mechanizm wyszukiwania podobnych fraz
Mam bazę z powiedzmy 30 tys różnych fraz. Wpisuję jakąś fraze w pole input np naprawa samochodów i system powinien wyszukać w tych frazach podobne frazy z tym że najbardziej podobne będą na samym początku czyli wynik mógłby wyglądać np tak: samochodowa naprawa naprawy samochodów naprawa samochodowa naprawa aut remont samochodów itd Jak takie coś zrobić? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) na razie mam tak: ucinam z frazy szukanej końcówki i dzielę na wyrazy i szukam w bazie 'słowo%' Później przelatuję przez wszystkie wyniki i sortuję w php na takiej zasadzie: dzielę frazę szukana i znalezioną na słowa i przelatuję przez wszystkie kombinacje levensteinem - wyniki sumuję i fraza z najniższym wynikiem levensteina trafia na początek. Nie sprawdza się to przy powyżej 3 wyrazach. Jak usprawnić takie sortowanie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 3 Dołączył: 21.04.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Pomysłem na pewno będzie
Jeżeli słowo nie ma więcej niż 2 litery porównuje je z istniejącymi w bazie.. Mam to w wyszukiwarce ale sa błędy np jak mam w bazie Google a wpisze google to proponuje porównać... A moim zdaniem powinno taki przypadek olać (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Edit: Dobra rozwiązanie teraz porównuje
Umie ktoś lepiej to rozwiązać? Trochę jest tu: http://pl.php.net/levenshtein http://pl.php.net/similar-text Ten post edytował Landon 11.05.2008, 17:25:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 17:45 |