mysql全文检索单个字符搜素

字符 全文 检索 搜索 mysql 单个 搜素 匹配 使用 分割 编程技术
发布日期 2022-12-09 更新日期 2022-12-09 阅读次数 89 文章字数 418

字符串使用空格分割。

空格分割后存储到一个字段。

在搜索时,也是分割为单字符,然后搜索,例如:match(字段) AGAINST('字符1 字符2' in boolean mode),

这样一来,没有使用专业的分词工具【太复杂】,也没有使用 ngram【比较慢】,效果也还算可以,至少比 like 要好太多了。

问题1:匹配度不高,例如输入 1,则 111222111, 会比 12 排在前面,因为前者有多个1匹配后者只有一个,则匹配度不高。

问题2:匹配数据越多,性能越低,1千万数据左右,输入几个字符时,就已经很慢了【3-4秒】,如果目标文本很长可能直接超出内存限制从而返回错误。

问题3:如果不拆分成每个词,则依然有部分数据无法搜索,例如:我是中国人,即使是最长划分,也只能是:我、是、中国人。这样依赖输入中国,其实是没有匹配的。所以我们有了一个认识,全文检索始终无法完全复制 like 的效果并且保留全文检索的速度。全文检索最佳领域是搜索关键字,这意味着比如海量文章中搜索关键字【如搜索引擎】,或海量商品中搜索商品【电商】等,而不是完全像 like 那样,这本身就是不现实的。


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-230.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

字符 全文 检索 搜索 mysql 单个 搜素 匹配 使用 分割

发表评论

相关推荐
朱丰华   |   1年前   |   php

php正则表达式定界符:异常Delimiter must not be alphanumeric or backslash

190    评论    点赞
朱丰华   |   1年前   |   git · hub · 仓库

go克隆并引用github仓库

147    评论    点赞
朱丰华   |   1年前   |   sql · mysql

mysql Timestamp或dateTime格式筛选

126    评论    点赞
朱丰华   |   1年前   |   请求 · 一个

ab测压命令,apache测压工具

172    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

112    评论    点赞
朱丰华   |   1年前   |   mysql · 变量 · sql

MySQL实现行号-自定义变量

112    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

94    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

114    评论    点赞
朱丰华   |   1年前   |   sed · 文件

Shell 指定行处理head、tail、sed

155    评论    点赞
朱丰华   |   1年前   |   linux · 内容

linux环境下,对于一个大文件,如何查看其中某行的内容

68    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 字符串

如何在 PHP 中将字符串的第一个字母转换为大写

148    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

85    评论    点赞
朱丰华   |   1年前   |   字符 · php · 比较

PHP比较字符串大小相关函数

110    评论    点赞
朱丰华   |   1年前   |   sql · mysql

mysql GROUP_CONCAT 顺序排序

83    评论    点赞
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

192    评论    点赞
朱丰华   |   1年前   |   js · export · import

js es6 export,import,export default的用法和区别

124    评论    点赞
朱丰华   |   1年前   |   php · 混淆 · obfuscate · git

yakpro-po混淆php代码

105    评论    点赞
朱丰华   |   1年前   |   centos

centos安装golang

92    评论    点赞
朱丰华   |   1年前   |   javascript · js · obfuscator · 混淆

javascript-obfuscator混淆js文件

51    评论    点赞
朱丰华   |   1年前   |   js · 模块 · nodejs

nodejs引入自定义模块

47    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞