相关疑难解决方法(0)

Levenshtein:MySQL + PHP

$word = strtolower($_GET['term']); 

$lev = 0;

$q = mysql_query("SELECT `term` FROM `words`"); 
while($r = mysql_fetch_assoc($q)) 
{ 
    $r['term'] = strtolower($r['term']); 

    $lev = levenshtein($word, $r['term']);

    if($lev >= 0 && $lev < 5)
    {
        $word = $r['term'];
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将所有内容移动到一个查询中?不希望查询所有术语并在PHP中进行过滤.

php mysql levenshtein-distance

31
推荐指数
4
解决办法
3万
查看次数

什么是PHP和MYSQL的最佳搜索算法?

我想在我的网站上搜索文章 - 是否可以使用简单的'LIKE'语句或者是否有更好的搜索算法用于MySQL?(重要的是它有效)

php mysql search

18
推荐指数
2
解决办法
3万
查看次数

如何在搜索查询中允许使用连字符进行全文搜索

我有像"some-or-other"这样的关键字,其中连字符在搜索我的mysql数据库时很重要.我目前正在使用全文功能.

有没有办法逃脱连字符?我知道有一个选项是#define HYPHEN_IS_DELIMmyisam/ftdefs.h文件中注释掉,但不幸的是我的主机不允许这样做.还有其他选择吗?

编辑3-8-11这是我现在的代码:

$search_input = $_GET['search_input'];
$keyword_safe = mysql_real_escape_string($search_input);
$keyword_safe_fix = "*'\"" . $keyword_safe . "\"'*";


$sql = "
    SELECT *,
        MATCH(coln1, coln2, coln3) AGAINST('$keyword_safe_fix') AS score
        FROM table_name
    WHERE MATCH(coln1, coln2, coln3) AGAINST('$keyword_safe_fix')
    ORDER BY score DESC
";
Run Code Online (Sandbox Code Playgroud)

mysql search full-text-search special-characters hyphen

11
推荐指数
2
解决办法
2万
查看次数