Java tabanlı bir web uygulamasında kullanıcıların gönderilerinden küfür filtrelemek için bir gereksinim var. Müşteri hem Scunthorpe Probleminin hem de Clbuttic Probleminin farkındadır ve sonuçlarını kabul etmiştir. Lütfen, sansür eksikliğinin esası hakkında bir tartışma istemiyorum.
İki veri biti vardır:
- Kullanıcının gönderimi, potansiyel olarak 500 kelime içerebilir;
- İzin verilmeyen sözcükleri içeren tek sütunlu bir veritabanı tablosu. Bu tabloda binlerce kayıt olabilir.
Mevcut çözüm benim için yanlış görünüyor:
- Tüm tablo, başlangıçta bir Singleton'a statik bir String [] olarak yüklenir (böylece bellekte bulunur).
- Her kullanıcı gönderimi için dizi boyunca döngü yaparız ve dizede [] içindeki herhangi bir kelimenin gönderimde görünüp görünmediğini görmek için bir .indexOf () yaparız.
- Görünüyorsa, yerine% $ # @% stilinde karakterler yerleştiririz. Bu, kullanıcı gönderimini belirterek, tüm kullanıcı gönderiminde belirteçler (tekrar) olarak döngü yaparak ve bulunan kelimenin her bir örneğini değiştirerek yapılır.
Bu çözümde parlaklık olabilir, ama şüpheliyim. Ve bir süreliğine ona baktıktan sonra yolumu bulamıyorum.
Sorular, iyi performans verecek ve umarım daha önce hiç duymadığım bazı belirsiz kelimeleri filtrelemediğim için kovulduktan sonra gelecekteki geliştiricilerin sürdürmesi için makul bir aklı başında olacak bir çözüm nedir?