mysql中使用sphinx搜索子域名需注意的问题
搜索子域名
如果使用mysql用like的话效率是非常低的,几百万甚至上千万的数据那是没有办法使用的,于是采取sphinx来做。
在使用的过程中发现了诸多问题,这里将其总结起来,也让不知道的朋友注意下这些字符。
分析:
sphinx是全文索引,它搜索的是包含的记录。
为什么会出现这种情况呢?
我们使用./search -c 配置文件 -i 索引名 'jb51.net' 搜索的时候会发现下面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这类域名。
注意:将"."替换成"`"等相应字符后需在charset_table里增加这个字符,不然是被忽略的。
所以在搜索的过程中我们需要注意下这些特殊字符。
相关推荐
冷月醉雪 2018-04-17
vitasfly 2016-12-28
半壁灯 2013-06-15
年轻就要对味 2015-01-25
momomoniqwer 2012-06-15
wenwentana 2020-07-05
zhenpy 2019-11-29
qianjq 2019-11-29
zk0 2019-11-20
看上去很美 2019-11-18
willcoder 2018-04-17
赫赫小虾 2018-04-16
magiclake 2010-12-11
看上去很美 2019-07-01
leshem 2016-02-17
aikaibo 2012-02-14
快雪时晴天 2011-11-10
瑞邦 2019-06-27