跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 新手求问这样的sql语句应该怎么实现呢
未分類
7 4 月 2020

新手求问这样的sql语句应该怎么实现呢

零度回忆 大佬有话说 : 2020-3-23 10:45:11

新手求问这样的sql语句应该怎么实现呢

用户提交一段文字,mysql检查这段文字与content表中str里是否有相似度大于90%的字段, 有的话就返回
yc002t

ddo 大佬有话说 : 2020-3-23 10:45:40

同问帮顶

谎言不一定是谎言,被发现的谎言,才算是谎言。——《秋之回忆》
zsbd

h20 大佬有话说 : 2020-3-23 10:53:14

你要先定义相似度大于90%

零度回忆 大佬有话说 : 2020-3-23 10:55:17

h20 大佬有话说 : 2020-3-23 10:53
你要先定义相似度大于90%

这个用php的similar_text函数可以实现, 不知道sql的怎么写才能高效率的执行?

我是一个大水怪 大佬有话说 : 2020-3-23 11:11:34

本帖最后由 我是一个大水怪 于 2020-3-23 11:21 编辑

数据库最好只用于存储,别涉及太复杂的应用层逻辑,你应该用其它搜索框架。

你可以自定义函数,将PHP版本的similar_text转换为SQL版本的,然后在SQL中调用。

两个字符串的相似程度计算依据 Programming Classics: Implementing the World’s Best Algorithms by Oliver (ISBN 0-131-00413-1) 的描述进行。注意该实现没有使用 Oliver 虚拟码中的堆栈,但是却进行了递归调用,这个做法可能会导致整个过程变慢或变快。也请注意,该算法的复杂度是 O(N**3),N 是最长字符串的长度

算了,这效率太低了,还是别用了。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具