Axtarış Algoritmləri ilə Bağlı

Salam. Deməli, mənim əlimdə milyona yaxın 500-600 söz olan mətnlər var və mən bu mətnlərdə axtarış edən proqram yazmaqdayam. Amma bu mətnlərdə, yəni cədvəlin sətirlərində (table rowlarında) axtarış edərkən çox uzun çəkir(Levenstein metodu ilə mətndə yaxın sözü axtarıram). 60 sətir bir saniyə təqribən (O(n)). Həll üçün fikirlərini eşitmək istəyərdim. (Indexləmə haqqında məlumat yığıram hazırda.)


Yadda saxlama
Kateqoriya: Web skriptlər, kod həlləri . , , , , , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (2 cavab var)

(01:39, 21/01/2012 ) #7164

Salam.
Axtarış nəhəngləri yəqin qat-qat optimal yollardan istifadə edirlər, amma inanmıram ki, bu adi siz deyən funksiyanın sürətindən eksponensial fərqlənən metodlara malikdirlər, yox məncə üstünlük polinomialdır. Onlara üstünüyü verən super serverlərdir. 1000 dəfələrlə daha üstün parametrlərə malik serverlə bizim localhostumuzun işlədiyi kompüterimiz təbii ki eyni sürətlə işləyə bilməz 🙂
Sizin situasiyada əlavə psevdohəllər təklif edərdim.
Keywordlər-dən istifadə etmək.
Oxşar sözlərin ayrıca table-ni qurmaq(İD,Incorrect,Correct). Məsələn user Cvablar sözünü axtarırsa bu yoxlasın ki həmin table-da Cvabların correct variantı varmı, varsa elə korrektin özünü axtarsın böyük table-ın özündə, yoxdursa o halda yeni cütlüyü əlavə etsin bu table-a və sonra oxşarlıq metodu ilə axtarsın çətin də olsa, amma əvəzində bu səhv variantı ikinci dəfə axtaranda artıq çox çevik nəticə verəcək, çünki table-da artıq bu cütlük var. Düşünərəm, başqa təkliflərim olsa yazaram 🙂

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(16:05, 25/01/2012 ) #7394

Siz deyən yoldan getdim. Amma səhv sözləri tək-tək clusterə əlavə etmək xeyli vaxt alacaq deyə bir az metamorfoza məruz qaldı. Təsəvvür etsək ki, bu yeni mətnlər əlavə etdikcə dəyişəcək, clusterlər da dəyişilməli olur. Başqa metodla etdim, hələ ki, bir problem çıxartmayıb: mətndəki sözləri distinct olaraq all_words deyə bir table-a atıram və axtarışa verilən sözə ən yaxın sözləri levenstein methodu ilə tapıram. nə qədər yaxın olduğuna görə ranking də edə bilirəm. (nolsun localhostdayıq 🙂 1-2 saniyə arası vaxt alır 8000 söz var bazada hələki ) trie strukturunu istifadəsini məsləhət gördülər. Əgər indiki halında bir nasazlıq yaransa, trie haqqında fikirləşəcəm.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

E. Hacı cavab verdi - Xif mn kodu (7 gün əvvəl)

Khagrov cavab verdi - Axtardığım mahnını tapa bilmirəm kömək edin (26 gün əvvəl)

E. Hacı cavab verdi - Dünəndən Kompüterlə Twitter/X və Pinterest -ə girə bilmirəm. (33 gün əvvəl)

orkhanrza cavab verdi - AZ9095də bağlama qalıb (38 gün əvvəl)

Ismayil1997 cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (47 gün əvvəl)

revan orucov cavab verdi - Bakıda evə 100mbps+ internet verən provayder var? (51 gün əvvəl)

E. Hacı cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (53 gün əvvəl)

Jurnalist cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (53 gün əvvəl)

asssa1 cavab verdi - Riyazi proqramlar üçün proqram (55 gün əvvəl)

Aleks cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (61 gün əvvəl)

E. Hacı cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (61 gün əvvəl)

Software Developer cavab verdi - Patreon , Ko-fi , Buy Me A Coffee , Kickstarter kimi saytlardan gələn pula görə vergi tutulur? (61 gün əvvəl)

E. Hacı cavab verdi - Riyazi proqramlar üçün proqram (62 gün əvvəl)

Software Developer cavab verdi - Kursda xaricdə təhsil imkanı nece yaranır? (62 gün əvvəl)

darkpixel cavab verdi - Patreon , Ko-fi , Buy Me A Coffee , Kickstarter kimi saytlardan gələn pula görə vergi tutulur? (62 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23287 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024