Документирование неразборчивых документов

1

Я пытаюсь сделать запись для рукописных документов с возможностью поиска. Некоторые из них очень неясны время от времени, и я ищу наиболее эффективный способ захвата их в базе данных, но все же могу искать термины, используя любую из возможных ветвей букв/слов.

Моя нынешняя идея ниже... но я думаю, что запрос, ищущий "Tom Sawyer", будет очень медленным, чтобы добиться такого. Кто-нибудь знает, как лучше всего это сделать?

Table: FullTexts
FullTextID  FullText
0001        This text was written by T{*1}m {*2}
0002        This document was even more {*1} to read

Table: Changes
DocID  ChangeID  ChangeIter  ChangeText
00001  1         1           i
00001  1         1           o
00001  1         2           Sawyer
00001  1         2           Sayor
00002  1         1           fun
00002  1         1           hard
00002  1         1           messy

... или, возможно, только измененная таблица FullTexts со всеми вариантами, объединенными между {}, а затем сканированными с использованием выражений Perl в предложении WHERE?

заранее спасибо

  • 0
    DBIx::NoSQL может стоить посмотреть
Теги:
substring

1 ответ

1
Лучший ответ

Mysql и regex являются субоптимальными инструментами для такого поиска.

Вы генерируете варианты, как вы упомянули в вопросе, и анализируете весь текст в n-граммах. Затем вы загружаете их в поисковую систему, которая использует n-граммы в качестве входных данных, а не сырой текст.

  • 0
    Большое спасибо, Даксим, я слышал о N-граммах и раньше, но никогда не приходил мне в голову ... я немного прочитаю! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню