我正在尝试创建常见问题解答数据库。因此,一个表,称为表1,将是一个相对较大的常见问题解答列表。这些常见问题解答应分为几类。 A类问题有一类,B类有另一类,依此类推,有大约40个单独的类别和大约500个常见问题。
我的目标是获得一个关键字表(可能是1000个)列表,该列表将与一个或多个类别相关联,并在输入搜索框时,提取相关的一个或多个类别以及所有相关的常见问题解答。
理想情况下,此列表将按相关性排序。也就是说,如果A类共有15个常见问题解答,而C类共有45个常见问题解答,并且所有60个常见问题解答都会在与A类和C类相关的任何关键字中输入,它将订购这60个常见问题解答。其中60个包含与关键字最接近的匹配项。换句话说,一个关键字可能会提取所有类别或类别常见问题解答,因为每个类别都会有多个有时与之关联的重叠关键字,但我希望以某种方式订购与类别相关的常见问题解答列表。
答案 0 :(得分:0)
这基本上是本网站的确切数据结构。在StackOverflow上,我们有帖子(您的常见问题解答)和标签(您的关键字)。为了关联它们,使用了多对多关系。您可以执行一些data exploration for how StackOverflow works并将数据模型基于此。
例如,可以像
一样检索标签的帖子select
from Posts p
inner join PostTags pt
on p.postId = pt.postId
inner join Tags t
on t.tagId = pt.tagId
where t.TagName = 'ms-access'
我假设您的分类工作方式相同。除非常见问题解答一次只能在一个类别中,否则您的类别只是FAQ表格中的一列。
按相关性排序要复杂得多,您需要自己推导出来。我们不知道“相关性”的含义或标签是什么或如何创建常见问题解答,谁对它们感兴趣等等...