代码之家  ›  专栏  ›  技术社区  ›  Andy E

mysql表的相关搜索结果

  •  0
  • Andy E  · 技术社区  · 15 年前

    从MySQL表生成超级相关结果的最佳方法是什么?我在表格中有一个站点列表,其中包含标题、描述和标签。如何在PHP中设置一个select query/search函数,该函数将在所有这三列中查找用户键入的关键字,同时尽可能快速地保留以下内容:

    • 标题中的匹配将是最相关的,但显然,标题中的匹配以及描述/标签将更相关。
    • 标签中的匹配将是第二个最相关的
    • 关键字可以按任意顺序匹配
    • 不是要求,但是如果所有关键字都不匹配,它可以匹配其中的任何一个(我不确定这是否会使调用太慢)

    我需要对我的桌子做什么具体的更改吗?

    3 回复  |  直到 15 年前
        1
  •  0
  •   ʞɔıu    15 年前

    最简单的方法是使用 full-text index 在所有这些列上。

    但是,MySQL中的全文索引不会为您提供对不同列权重的细粒度控制。为此你需要 lucene sphinx .

        2
  •  0
  •   kubal5003    15 年前

    没有简单的答案。”同时尽可能快地保持“不是一个限制。你必须: 1)设定真正的目标 2)试着自己去实现

    最简单的查询可能会很好地工作,而您不必做任何其他事情。

    顺序总是写工作代码,尝试它,如果它运行不好,优化它。你这样做恰恰相反,因此浪费了你的时间。

        3
  •  -2
  •   Smandoli    15 年前

    IMHO的自然方法是让PHP通过记录集,这样您就可以逐个记录地应用逻辑记录。

    你可以期望将来你会完善你的逻辑。通过代码处理您的需求可以让您轻松做到这一点。

    不能说你的桌子结构,因为你没有提供太多细节。

    推荐文章