Ограничение на публикацию идентичных комментариев/сообщений

Духовность™

Продвинутый новичок
Хочу ввести на сайте ограничение на публикацию идентичных текстовых объявлений.
Первая мысль - делать md5 от сообщения и при каждом insert в базу делать проверку на наличие такого же хэша. Соответственно на поле с хэшем повесить индекс на все 32 символа.

Как идея?
 
Во-первых, хеш MD5 — 16 байт. Во-вторых, можно делать CRC32 + timestamp/user_id/IP. Это будет всего 8 байт. В-третьих, можно вообще таблицу не трогать, а CRC32/MD5 в сессию писать — это спасёт от случайных дублирований. Если человек ставит своей целью добавить нескольких одинаковых объявлений, то он это сделает, так что таблицу трогать явно не надо, IMHO. Так что идея плохая.
 
Духовность™
наверное, нужно ещё проверку времени делать. и то, всё это при условии, что у тебя есть функционал по апанию своих объявок.
 
объясните, зачем timestamp ещё учитывать? Что это даст?
Мне кажется незачем, просто до кучи написали, если задача отсечь одинаковые объявления, то поиск нечетких дубликатов,
Делал так же как тут
отличный вариант.
 
Духовность™
ну, дал я объявление, продал товар, через месяц ещё раз решил дать - достал текст из onenote и опять его опубликовал.
 
Духовность™
ну, дал я объявление, продал товар, через месяц ещё раз решил дать - достал текст из onenote и опять его опубликовал.

в бан :), нечего продавать, один и тот-же товар, а то как про корову, которая возвращалась назад к предыдущему хозяину
 
Я в свое время делал для newsland.ru - вырезаешь пару абзацев текста и ищешь в базе.
Как базу использовался sphinx. Если находились совпадения - не давало постить или уходило в премодерацию.
 
Я в свое время делал для newsland.ru - вырезаешь пару абзацев текста и ищешь в базе.
А как решали вопрос с цитатами? Есть любители процитировать весь пост целиком.
Или они как-то вырезались и не попадали в сфинкс?
 
Речь шла о новостях, чтоб избежать дублирования и уменьшить работу модераторам.
 
Сверху