最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql中使用sphinx搜索子域名需注意的问题_MySQL

来源:动视网 责编:小采 时间:2020-11-09 18:57:23
文档

mysql中使用sphinx搜索子域名需注意的问题_MySQL

mysql中使用sphinx搜索子域名需注意的问题_MySQL:bitsCN.com 搜索子域名比如搜索bitsCN.com会把www.bitsCN.com、bitsCN.com、host.bitsCN.com等都搜索出来。如果使用mysql用like的话效率是非常低的,几百万甚至上千万的数据那是没有办法使用的,于是采取sphinx来做。在使用的过程中发现了诸多问题,这
推荐度:
导读mysql中使用sphinx搜索子域名需注意的问题_MySQL:bitsCN.com 搜索子域名比如搜索bitsCN.com会把www.bitsCN.com、bitsCN.com、host.bitsCN.com等都搜索出来。如果使用mysql用like的话效率是非常低的,几百万甚至上千万的数据那是没有办法使用的,于是采取sphinx来做。在使用的过程中发现了诸多问题,这

bitsCN.com

搜索子域名

比如搜索bitsCN.com会把www.bitsCN.com、bitsCN.com、host.bitsCN.com等都搜索出来。

如果使用mysql用like的话效率是非常低的,几百万甚至上千万的数据那是没有办法使用的,于是采取sphinx来做。

在使用的过程中发现了诸多问题,这里将其总结起来,也让不知道的朋友注意下这些字符。

分析:
sphinx是全文索引,它搜索的是包含的记录。

首先如果我们不做任何设置的话,搜索bitsCN.com会出现把aabitsCN.com、jb51.a.cn、bitsCN.com.com(当然这个域名后缀不存在,但是会有符合相应规则的域名,这里只举例)等等。

为什么会出现这种情况呢?

我们使用./search -c 配置文件 -i 索引名 'bitsCN.com' 搜索的时候会发现下面words部分被分成了两部分'jb51'和'cn',默认以.作为分隔符,如果我们不想让它做为分隔符,就需要把.添加到charset_table里面,这里需要说的是我们搜索域名只需要有字母、数字、"-"等字符,其他的不需要。设置如下:
charset_table = 0..9,A..Z->a..z, a..z,U+002e,U+002d,U+0040,U+0060 #其中U+002e代表".",U+002d代表"-",U+0040代表"@",U+0060代表"`",这里为ascii码值。
这样会解决掉搜出jb51.a.cn这类域名。

那么bitsCN.com.com这类呢?我们可以在索引的字段中增加惟一后缀比如“XXXXX”,concat(search,'XXXXX')这样,就不会出来了。

现在就剩下aabitsCN.com这类域名,我们使用关键字“ '".bitsCN.com"' ”(注意是单引号里面套双引号)这样来搜索,主域名单独加上,但是使用的过程中发现这样搜出了与这个域名无关的域名,比如aa.bb.cn这样,经后来研究是"."的问题,后来把"."替换成"@",来搜索又出现12306等好多域名无法读取到的问题,后来经研究估计这些特殊字符在sphinx中都有特殊的意义,于是找到了"`"这个字符,换成这个以后一切才算正常了。

注意:将"."替换成"`"等相应字符后需在charset_table里增加这个字符,不然是被忽略的。

所以在搜索的过程中我们需要注意下这些特殊字符。

bitsCN.com

文档

mysql中使用sphinx搜索子域名需注意的问题_MySQL

mysql中使用sphinx搜索子域名需注意的问题_MySQL:bitsCN.com 搜索子域名比如搜索bitsCN.com会把www.bitsCN.com、bitsCN.com、host.bitsCN.com等都搜索出来。如果使用mysql用like的话效率是非常低的,几百万甚至上千万的数据那是没有办法使用的,于是采取sphinx来做。在使用的过程中发现了诸多问题,这
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top