Znajdź zawartość
Wyświetlanie wyników dla tagów 'mysql' .
-
siema, mam taką tabelkę: id|nazwa |typ --+--------+------- 1 |jabłko |owoc 2 |śliwka |owoc 3 |wiśnia |owoc 4 |ziemniak|warzywo 5 |batat |warzywo 6 |marchew |warzywo chcę zrobić zapytanie, które wybierze mi naprzemiennie owoce i warzywa (także jabłko, ziemniak, śliwka, batat, wiśnia, marchew). są w ogóle takie cuda? (dodam, że owoc, warzywo to nie jedyne wartości, mogą być najróżniejsze - chciałbym je też brać pod uwagę) w idealnym świecie dałoby się to zrealizować po ludzki w sqlalchemy
-
[MySQL] Wyszukiwanie dopasowanych fraz
MaxGaming opublikował(a) temat w HTML, PHP, mySQL, JavaScript
Potrzebuję zrobić prostą wyszukiwarkę treści w bazie danych na wzór wyszukiwarki internetowej. Tym co mnie zastanawia jest jak skutecznie i w miare optymalnie wyszukiwać najbardziej dopasowane frazy. W MySQL wiem, że wystepuje wyrażenie "like", ale ono szuka dokładnie takich samych wyrazów. 1. Oczekuję takiego efektu, że chcę np. znaleźć 20 wynków. W pierwszej kolejności szukam tych wyników w których zawarte jest minimum 80% kolejnych znaków z fraz wyszukiwanych. Np.: wyszukujemy "Widok z okna", więc najpierw szukamy wyników które zawierają trzy wyrazy "Widok", "z", "okna". Następnie te które o maksymalnie 20% się różnią(czyli mamy 10 znaków, czyli mogą się różnić o 2 kolejny znak) np. "Widok z ok(na)", "Widok (z ok)na". Kolejnych mam na myśli, że porównujemy całe wyrazy np "ok" z "okna", a nie szukamy liter w całej wyszukiwanej frazie, bo wtedy wpisanie frazy "abcde.....z" oznaczałoby wyszukanie wszystkiego. 2. Jeśli te wyniki które spełniają limit 80% podobieństwa nie wystarczą, aby uzyskać 20 wyników, dobieramy te z 70% skutecznością i tak dalej, aż otrzymamy 20 wyników(20 to liczba przykładowa, prawodpobnie bedzie chodziło o większą ilość). Teraz pytanie, czy wgl jest na to jakiś sposób? Czy trzebaby wyciągąc z MySQL wszystkie rekordy i dopiero w PHP realizować taki algorytm? Z góry dzięki i pozdrawiam, MaxGaming- 8 odpowiedzi