让我们说我有一个论坛,我有一个名为"权力的游戏&#34 ;;并将其存储在数据库中。当有人想要访问它时,URL将如下所示:www.someforum.com/topics/game-of-thrones。
搜索时,我可以简单地用空格替换连字符,或者忽略它们,但是对于具有空格和连字符的字符串,它会在单词和连字符的不同排列之间产生歧义(例如" Mother-In-法律问题")。我怎么处理这个?
我想过创造一个" slug"主题表中的列,其中包含主题标题的网址,以及"标题"列将保存用户所期望的空格和连字符的排列...
答案 0 :(得分:0)
我想我现在找到了你 这样的事情怎么样(只是一个粗略的演示)? -
create table url (url_id int primary key,url varchar(1000));
insert into url (url_id,url) values (1,'www.someforum.com/topics/game-of-thrones');
create table search_term (search_term varchar(1000),url_id int references url(url_id));
insert into search_term values ('game of thrones',1),('GOT',1)
select u.url
from search_term as st
join url as u
on u.url_id =
st.url_id
where st.search_term = 'GOT'
;