1

我有一个用户发布帖子的系统,该帖子将包含标题,以及帖子内容本身,内容将在 20 - 3000 字之间,由纯文本组成。

我还有一组超过 700 个类别,一些是顶级类别,其余的是子类别。

当用户输入帖子的内容时,需要提示他们最多 5 个相关类别,这些类别会根据用户输入的内容自动选择。

最好的方法是什么,我正在使用 PHP 和 MySQL,任何库或代码示例的链接都会很有用。

4

1 回答 1

0

用户视角

您不能仅使用 php/mysql 在同一页面中的 1 步上执行此操作。您的问题主要有2个选项。

  • 您还学习/使用一些客户端语言并实现它以在不更改页面的情况下进行搜索。我不太了解,所以我不能真正推荐任何具体的东西,但是这个线程应该可以帮助你。

  • 您使用中间页。也就是说,用户发布它的内容,然后在发送它之后解析它并提供类别供用户在新页面中选择。这有一个问题,许多用户可能会在评论中按“发送”后关闭窗口,因为他们希望它直接发送,好在它只使用 php/mysql。

解析文本

我再次不确定这是否是最有效的方法,但我会尝试并继续测试,直到达到预期的结果:

首先,为每个类别创建一个包含几个关键字的列表。4 或 5 应该可以解决问题,但这在很大程度上取决于类别、文本和许多其他因素。

然后,创建一个包含 10 个元素的数组。5 将是类别的 ID,5 将是每个类别的“分数”。例如,您可以为找到的每个关键字设置 1 分。请记住最初分配一些值,否则您将无法与之比较。

然后我会搜索文本中的每个类别关键字。如果您获得的分数高于之前获得的任何分数,请将最低分数替换为新类别。

回显脚本末尾剩余的 5 个类别。他们应该是5个更合适的。但请记住,还有更多方法可以解决这个解析问题。

于 2012-06-22T00:24:28.037 回答