У меня есть таблица articles
(: модель Rails, но я думаю, что проблема связана с SQL), которая имеет имя столбца permalink
. К примеру, некоторые из моих постоянных ссылок:
title-of-article
great-article
great-article-about-obama
obama-stuff-about-him
Я хочу сопоставить запрос от great-article-about-obama-random-stuff
до great-article-about-obama
. Можно ли это сделать, избегая убийственного выступления?
Спасибо всем,
ps: мы используем Rails 3 и Postgresql (или Sqlite, еще не решенный для производства)
EDIT
Мы можем сделать что-то подобное, но главный недостаток в том, что мы должны получать все постоянные ссылки из статей таблицы:
permalinks = ['title-of-article','great-article','great-article-about-obama','obama-stuff-about-him']
string_to_match = 'great-article-about-obama-random-stuf'
result = permalinks.inject('') do |matched,permalink|
matched = (string_to_match.include? permalink and permalink.size > matched.size) ? permalink : matched
end
result => 'great-article-about-obama'
Я с удовольствием найду способ сделать это непосредственно в SQL
по очевидной причине производительности.