5

我需要一种在不使用标签的情况下获取相关内容的方法,因为在我的情况下标签太多,并且这些标签是由用户插入的(所以在大多数情况下他们忘记了使用它们)。

Youtube 做同样的事情:例如,如果您正在观看一个有趣的视频,那么 youtube 会在相关内容中向您显示其他有趣的视频。

例如,如果文章的标题是“美国总统巴拉克奥巴马,去迈阿密”,我需要获取标题中包含“巴拉克奥巴马”、“美国”、“总统”或“迈阿密”的其他文章,并且,如果可能的话,相同主题的其他文章。

这可能非常复杂,所以我向您征求了一些建议。

4

1 回答 1

1

可能的解决方案是使用 Zend Lucene。
http://framework.zend.com/manual/1.12/en/zend.search.lucene.html

这是一个易于实现的完全在 php 中运行的搜索引擎。您可以将它用作与 Zend Framework 分开的组件,而且它很容易实现。

索引您的所有内容。使用(出于某种原因未记录的)提升功能使部分内容更相关(IE.标题,用户标签)
此处示例:http: //davedash.com/2007/05/29/boosting-terms-in- zend-搜索-lucene/

然后,将标题用作关键字查询,并向您的用户显示得分最高的 x 个结果。(确保过滤用户当前正在查看的内容)

为了优化,您可以兑现每页的搜索结果。

您可以调整结果:
- 哪些内容最能描述内容 - 在索引时提升这些项目
- 搜索您将使用的内容时(标题、用户标签、组合)

于 2013-01-25T15:14:42.950 回答