我们正在建立一个网站,该网站总共托管8个静态网页。使用“内容”表/模型生成每个网页。因此,我们有一个“ HomeContent”表,一个“ FAQContent”表等。
这些表/模型中的每一个都包含以下3列:
[栏:
示例数据:
现在,我是菜鸟,而且在为我们的网站创建搜索功能时遇到了困难。此搜索功能必须允许用户获得搜索结果页面,其中包含指向其搜索词所在的网页的链接。
我的想法是将我们拥有的所有Content表合并为一个大的Content表,并在此大的Content表中添加一列,称为'Location',其中将包含表的类型,数据最初来自该表。
所以我希望会得到类似的东西:
Id |类型内容|位置
1 | h1 | “欢迎!” |主页
2 |标签| “天气” |信息
3 | h4 | “你好!” |联系人
创建工作的网站搜索引擎可能有一种更简单的方法,但是我(沮丧地)不了解任何其他方法...
[任何人都可以帮我吗?
编辑:
附加信息:
以及用于我们主页的'HomeContent'模型的示例:
public class HomeContent
{
public int Id { get; set; }
public string Type { get; set; }
public string Content { get; set; }
}
}
您应该修复数据模型,并将所有内容存储在唯一的表中,并在其中包含每一行所属位置的列。
同时,您可以使用union all
创建一个模拟该视图的视图:
create view AllContents as
select id, type, content, 'Home' location from HomeContent
union all select id, type, content, 'Info' from InfoContent
union all ...
然后您可以搜索视图:
select * from AllContents where content like '%mySearchValue%'
正如戈登·利诺夫(Gordon Linoff)所说,您可能还想看看全文搜索功能,该功能提供了一种内置解决方案来执行有效的文本搜索。