Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sprawdzanie pisowni
Forum PHP.pl > Forum > PHP
cisrudlow
Moj provider nie udostepnia mi f-cji aspella (php nie jest z nim skompilowane). Chcialbym sobie stworzyc sam system sprawdzania pisowni. Powiedzmy, ze mam wszystkie slowa zapisane w pliku txt (jest ich ok 3 milionow). Czy warto to wszystko przeniesc do bazy i jej uzywac do wyszukiwania poprawnych wyrazen (co jest prostrze)? Czy podzielic moj plik txt na pliki, np. plik a.txt zawiera wszystkie slowa na a itd. i natrafiajac na slowo na "a" otwieramy ten plik, szukamy go w nim, jezeli nic nie bedzie, to zwracamy blad, a na koncu zamykamy plik. Jednak tych slow na "a" moze byc, takze duzo i moze to zabic moj skrypt (biorac pod uwage, ze moze dlugo wyszukiwac). Czy moze macie inne rozwiazanie? Czy znacie, jakies gotowe rozwiazania?
ennics
lepiej będzie jak wrzucisz plik do bazy danych, wyszukiwanie będzie szybsze.
możesz poindeksować go np po pierwszej literze danego słowa

np masz kol.: id|prefix|slowo

prefix tworzysz poprzez:
UPDATE tabela SET prefix = SUBSTRING(slowo, 1, 1)
Fixer
dajesz wszystko do mysqla i tworzysz unikatowy klucz jednoznaczny (bez powtórzeń+indeksowanie)
a o plikach tekstowych ZAPOMNIJ! przeszukanie całej bazy zajmie ci w okolicach 10 sekund (jeden wyraz) baza 4mln rekordów

  1. ALTER TABLE `tabela` ADD UNIQUE (
  2. `kolumna`
  3. )


i sprawdzenie 124 wyrazów trwa ok. 1 sekundy smile.gif

zresztą sam sprawdź http://www.ortografik.rox.pl/
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.