【问题标题】:measure relevance of a search term returned matched against results衡量返回的搜索词与结果匹配的相关性
【发布时间】:2012-02-08 04:08:06
【问题描述】:

是否有 PHP 或 MySQL 函数可以检查匹配字段的相关性?它可以查看字符串并匹配一定百分比的字符吗?

例如,我正在做一个基本的搜索脚本来拉回结果,但我怎样才能让更相关的结果出现在顶部?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    Mysql有一个函数MATCH 你可以喜欢它

    SELECT * FROM `table` WHERE MATCH(content) AGAINST('search text')
    

    所以它会在内容中查看它的相关性。 但是您需要将字段content 索引到需要表类型“MYISAM”的 FULLTEXT。 输出将自动升序排序。

    希望对你有帮助

    【讨论】:

    • 好主意...请稍候
    【解决方案2】:

    嗯,你在这里问了几个复杂的问题。大多数情况下,我认为您正在寻找信息检索技术。一些答案遍布 Stack Overflow。

    What tried and true algorithms for suggesting related articles are out there? 我觉得很棒

    如果您只是在寻找关键字与现有关键字的匹配程度,您可能需要使用levenshtein distance

    我试过了:P

    【讨论】:

    • 感谢您的反馈,请检查并报告!
    【解决方案3】:

    很大程度上取决于您的数据和您期望的搜索类型。但基本上,您可能正在寻找模糊搜索。 Soundex 和 Levenshtein 距离是可用于字符串匹配的众多函数中的两个

    http://php.net/manual/en/function.levenshtein.php

    【讨论】:

    • 感谢您的建议,我会试试这个并回复您!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多