Pea*_*ion 5 mysql tags search database-design full-text-search
我的项目示例.
许多用户参加许多参赛作品(想想推特尺码)
我想让用户很容易搜索他们的条目.问题是:我是实施标记系统还是只实现搜索机制?我已经对这个主题进行了大量的研究,特别是关于模式的要求.但是,我仍然有一些挥之不去的问题.
如果我使用TAGS.我的想法是将条目带入单词以及随附的任何元数据到TAGS中.模式将是mysql人员推荐的Toxi(多对多)事物.我对TAGS的问题是它们不像SEARCH那样灵活.例如,如果CATS是一个标签,但CAT不是,你无法"搜索"它,因为它不是TAG.除非您在TAGS上实施搜索.在这一点上,我担心性能或为什么不直接使用直接搜索.第二个问题是将TAG重复和相似性降至最低.TAG垃圾收集,如果你愿意.
如果我使用SEARCH,我将不得不使用LIKE或FULLTEXT(尽管myISM不是那么好)并搜索条目及其元数据.元数据可以在此方案中存储类似数据的标记.该计划会简单得多,但我担心性能会比使用标签更糟糕.但是,再次搜索更灵活,我不必担心垃圾收集标签.
现在,有趣的是,我已经阅读了这一点,以提高人们对搜索+标记方法的搜索性能.标记条目中的所有单词,然后搜索TAGS.无论如何,我有点暗示TAG系统正在发生这种情况.在这一点上,标记和搜索之间的界限似乎变得模糊,我变得非常困惑.所以,我写这篇文章是希望你能把我解雇.
我有大量的用户和大量的小文本条目.用户能够搜索它的最佳方式是什么.从性能角度和用户交互角度来看都是如此.
此外,非常感谢有关此主题的任何其他信息.
干杯.
我建议您使用专用的搜索引擎来实现此功能,例如Sphinx或KinoSearch。获取相关搜索结果,同时在搜索查询方面具有最大的灵活性,这本身就是一项业务(例如谷歌的业务),因此我总是会为这项任务采用专门的服务