Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类mySQL Quicksilver中的字符串排序算法 mySQL中的字符串排序算法_Mysql_Search_Autocomplete_Fuzzy Search - Fatal编程技术网

类mySQL Quicksilver中的字符串排序算法 mySQL中的字符串排序算法

类mySQL Quicksilver中的字符串排序算法 mySQL中的字符串排序算法,mysql,search,autocomplete,fuzzy-search,Mysql,Search,Autocomplete,Fuzzy Search,Quicksilver评分算法 MySql端口(哦,没有链接)这是我的问题,请继续阅读 用法示例: score("hello world","axl") //=> 0.0 score("hello world","ow") //=> 0.6 score("hello world","hello world") //=> 1.0 好的,我的问题就在这里。这些都是令人敬畏的,感谢那些使之成为可能的人!我希望有一个mysql的方式来做这件事。数据库不是我的专业领域,但如

Quicksilver评分算法



MySql端口(哦,没有链接)这是我的问题,请继续阅读

用法示例:

score("hello world","axl") //=> 0.0  
score("hello world","ow") //=> 0.6  
score("hello world","hello world") //=> 1.0
好的,我的问题就在这里。这些都是令人敬畏的,感谢那些使之成为可能的人!我希望有一个mysql的方式来做这件事。数据库不是我的专业领域,但如果我只想在MySQL中实现这一点,我会怎么做?我应该怎么做,有更好的方法吗?

我的想法是这样的

现实生活示例:

score("hello world","axl") //=> 0.0  
score("hello world","ow") //=> 0.6  
score("hello world","hello world") //=> 1.0
我的数据库中有14000多条记录。“ICD9”医疗代码表,包含医疗代码和说明

表:
ICD9_代码

字段:
代码
代码文本

我正在对一个php函数进行jQuery ajax调用

 $query = $this->db->query("SELECT code, code_text FROM codes WHERE MATCH (code,code_text) AGAINST ('" .$q. "')");
这个有效,那很好。但我真正的愿望是使用评分算法

现在纠正我如果我错了,我很可能会错,所以如果你错了,我会感到震惊:)

我认为搜索14000多条记录是一个非常昂贵的过程。(即使最小值为2个字符)使用jQuery自动完成。(这可能不适合某些人,因为我说过“数据库不是我的专业领域”)

这就是我想知道的。有人了解MySQL并对MySQL函数进行评分,这是否值得

Select code, code_text, score("hello world","ow") from ICD9_codes
如果你对这个想法有任何赞成或反对意见,你愿意听听吗?或者知道更好的方法:)

优点:

score("hello world","axl") //=> 0.0  
score("hello world","ow") //=> 0.6  
score("hello world","hello world") //=> 1.0
  • MySQL使用搜索算法的本机方式
缺点:

score("hello world","axl") //=> 0.0  
score("hello world","ow") //=> 0.6  
score("hello world","hello world") //=> 1.0
  • 如果我没有对数据库的控制权,我就无法添加mysql函数score()(这将使我在phpjavascript中保持以前的状态)
在这个时候,我会溜进去(Stackoverflow太棒了!!!神奇的社区!) 谢谢 达斯汀


它取自MySQL 5.0参考全文搜索功能部分

我想这不是正确的问题。