假设我有一个论坛,并且有一个主题叫做“权力的游戏”;并以这种方式存储在数据库中。当有人想要访问它时,URL 将类似于:www.someforum.com/topics/game-of-thrones。
搜索时,我可以简单地用空格替换连字符,或者忽略它们,但这会在单词和连字符的不同排列之间产生歧义,对于同时具有空格和连字符的字符串(例如“Mother-In-Law Issues”) ).我该如何处理?
我想在主题表中创建一个“slug”列,其中包含主题标题的 url,“标题”列将按照用户的意图保存空格和连字符的排列...
最佳答案
我想我现在明白你了。
像这样的东西怎么样(只是一个粗略的演示)? -
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'
;
关于sql - 如何在 postgresql 中存储和搜索连字符/非连字符的 url 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40859086/