Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Określanie zgodności procentowej pół
Forum PHP.pl > Forum > PHP
kask18
Witam mam bazę danych w której są kluczowe 2 tabele X i Y. Rekordy z tych tabel tworzą informacje o piosenkach. Każda z tabel zawiera pola: tytuł i artysta typu VARCHAR. I teraz moje pytanie. Potrzebuje z tabeli X pobrać informacje o piosence (tytuł i artysta) i sprawdzić czy w tabeli Y jest ten utwór. Jak łatwo się domyślić mogą występować literówki itp. Ważne jest aby jeśli znajdzie się podobny rekord w tabeli Y to określić jego zgodność procentową z wzorem (wyliczana w dowolny sposócool.gif. Obie tabele mają po ok tabela Y może mieć do 1 000 000 rekordów. Za pomocą czego mogę taki zbiór przeszukiwać. Próbowałem sam napisać kod z wykorzystywaniem alrogytmi n-gramów do oceny podobieństwa. Ale podczas masowego wyszukiwania (mam zbiór 5 000 rek w tabeli X i sprawdź czy w tabeli Y też są) trwa strasznie długo (nie mówimy tu o 2-3 min). Jakie są najlepsze gotowe rozwiązania. Mam wrażenie że zrzucenie na php całej roboty jest błędem. Wogóle czy php i mysql to jest dobre połączenie do tego typu operacji ?
wookieb
Poczytać o wyszukiwanie pełnotekstowym FULLTEXT
kask18
mogę się mylić ale FULL TEXt nie określi mi procentowego podobieństwa questionmark.gif rozumiem ze zwrócone wyniki miał bym już ręcznie przetwarzać za pomocą php questionmark.gif
thek
Może stricte procentowego nie, ale zobacz tutaj choćby http://dev.mysql.com/doc/refman/5.1/en/ful...l-language.html i zwróć uwagę na
  1. SELECT id, MATCH (title,body) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE) AS score FROM articles
a w szczególności co zwróci score smile.gif
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.