Bir MySQL tabloda VARCHAR girişleri, çok sayıda (yaklaşık 40000000) sahiptir. Dizenin uzunluğu 5-80 karakter arasında herhangi bir yerde olabilir. Ben grup benzer bir araya metin ve olası bir yaklaşım düşünce çalışıyorum:
Bir satır almak ve diğer her satır ile (Edit Mesafe gibi) bir benzerlik ölçüsünü hesaplamak ve her aynı gruba ait olup olmadığını (Ben olsa karar nasıl emin değilim) karar verin. Örneğin, ben aşağıdaki girdileri var:
The quick brown fox
The qick brwn fox
This is another sentence
Ths is another sntence
Ben bu nedenle bu durumda, 'Hızlı kahverengi tilki' ve 'Bu başka bir cümledir' olabilir ama grup kimliği atamak ben bir grup kimliği atamak ve sonra en iyi maç (almak bir forma bu dönüştürmek mümkün olmak istiyorum 1 hem diğer ayarlamak için 'Hızlı kahverengi tilki' ve 'qick BRWN tilki' girişleri ve 2).
Böyle bir sorun için daha iyi bir yaklaşım var mı? Belki gibi indeksleme programları veya diğer veritabanı avantajları kullanmak? Ayrıca, sadece bir onay, ben benzer bir metin içeren satırları bulmak için çalışıyorum, ama birbirine benzer satırlar oldukça değilim. Belki de, ben verebilirim iyi bir muhakeme bazı satırlar hataları yazım hatası nedeniyle farklı ve ben onları düzeltmek istiyorum olmasıdır.
EDIT 2: Open to other ways not using MySQL that could be reasonably comparable to a DB's performance
Yani biraz araştırma ve aşağıda verilen cevap sonrasında, bu o kadar kolay olmayacak ve ben bulanık eşleştirme içine bakmak gerekebilir. Bu benim veri artık bir veritabanında saklanır düşünüyor için herhangi bir iyi yaklaşımlar var mı?
EDIT 1: Attempt using MySQL's FULLTEXT
mysql> create table fulltextsim(id INT PRIMARY KEY AUTO_INCREMENT, text TEXT, FULLTEXT(text));
Query OK, 0 rows affected (0.44 sec)
mysql> insert into fulltextsim(text) VALUES("The quick brown fox");
Query OK, 1 row affected (0.02 sec)
mysql> insert into fulltextsim(text) VALUES("The qick brwn fox");
Query OK, 1 row affected (0.00 sec)
mysql> insert into fulltextsim(text) VALUES("This is another sentence");
Query OK, 1 row affected (0.00 sec)
mysql> insert into fulltextsim(text) VALUES("Ths is anther sntence");
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM fulltextsim WHERE MATCH(text) AGAINST ('The qick brwn');
+----+-------------------+
| id | text |
+----+-------------------+
| 2 | The qick brwn fox |
+----+-------------------+
1 row in set (0.02 sec)
mysql> SELECT * FROM fulltextsim WHERE MATCH(text) AGAINST ('The qick fox');
+----+-------------------+
| id | text |
+----+-------------------+
| 2 | The qick brwn fox |
+----+-------------------+
1 row in set (0.00 sec)
Ben de 'Hızlı kahverengi tilki' satırı istedi.