Я пытаюсь создать приложение, которое использует триграммы для приблизительного соответствия строк. Теперь все записи находятся в базе данных, и я хочу иметь возможность искать записи по фиксированному столбцу. Лучше ли иметь дополнительное поле, которое содержит хешированную версию значения, которое я хочу найти (если да, каков наилучший способ его хранения?) Или лучше генерировать триграммы на лету?
Какую базу данных вы используете?
В PostgreSQL встроены функции триграмм, которые работают от индексов GiST или GiN.
В SQL я использую CLR для создания и сравнения наборов триграмм, работает намного, намного быстрее, чем код SQL.