场景:搜索子域名

比如搜索yzswyl.cn会把www.yzswyl.cn、yzswyl.cn、host.yzswyl.cn等都搜索出来。

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

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

分析:

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

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

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

我们使用./search -c 配置文件 -i 索引名 'yzswyl.cn' 搜索的时候会发现下面words部分被分成了两部分'yzswyl'和'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码值

这样会解决掉搜出yzswyl.a.cn这类域名。

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

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

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

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

转载于:https://www.cnblogs.com/xuejie/archive/2013/01/25/2876246.html

使用sphinx搜索子域名过程中需注意的问题相关推荐

  1. 不锈钢侧冲孔发光字制作过程中需留神的细节问题

    制造不锈钢侧冲孔发光字流程中每一层的细小都要很重要,若是在某一个环节出了困难,那么就有大概会影响到后面的操作.今天就来给大家共享不锈钢侧冲孔发光字制作过程中需注意什么细节问题?主要有下面内容: 镜面不 ...

  2. IEEE Latex论文写作过程中需避免的格式问题

    IEEE Latex论文习作过程中,需避免以下错误: 在标题前贴标签:这被认为是有史以来Latex最常犯的错误之一.请记住,\label必须放在\caption之后或之内,以便能够正确地引用图形/表格 ...

  3. as安装过程中gradle_电磁阀在安装过程中需注意的一些细节

    在安装电磁阀这类产品时,用户应注意一些基本的操作问题.虽然电磁阀产品的质量是厂家保证的,但在实际工作状态下,电磁阀的安装是否正确也会对电磁阀产品的效率和稳定性产生较大影响,并会加速电磁阀零部件的磨损率 ...

  4. python爬虫获取子域名以及对“百度安全验证”问题的解决

    编写的python代码是在借鉴老师给的资料的基础上实现的 进行课堂实践:模仿bing搜索引擎域名收集功能,实现baidu搜索引擎的域名搜集功能时,走了不少弯路,最后终于形成了完整的思路.尤其是在&qu ...

  5. 博途v15安装过程中提示出错_博途V15.1安装及无限重启和.net3.5SP1错误处理解决方法...

    软件安装包 3.安装过程及安装过程中出现问题处理 1)打开软件安装包,打开STEP7WINCCproV15.1文件夹,如下图 双击TIA_Portal_STEP_7_Pro_WINCC_Pro_V15 ...

  6. 子域名收集常用工具(Layer、subDomainsBrute、sublist3r、dnsenum)

    目录 说明 Layer子域名挖掘机 subDomainsBrute sublist3r dnsenum Google Hacking搜索子域名 证书透明度公开日志枚举 子域名在线枚举 说明 子域名是某 ...

  7. subDomainsBrute 子域名工具 源码分析

    分析的是这个 lijiejie的子域名工具 https://github.com/lijiejie/subDomainsBrute 此次分析的版本是v1.1 首先导入了这些库 import multi ...

  8. 【如何处理信息收集时子域名爆破泛解析的问题】

    如何处理信息收集时子域名爆破泛解析的问题 子域名泛解析的成因 泛域名解析举例 子域名爆破中解决泛解析的方式 推荐工具 子域名泛解析的成因   在子域名解析中,每个子域名都会解析为一个特定的IP地址.只 ...

  9. PJzhang:经典子域名爆破工具subdomainsbrute

    猫宁!!! 参考链接: https://www.waitalone.cn/subdomainsbrute.html https://www.secpulse.com/archives/5900.htm ...

最新文章

  1. Proovread安装与试用
  2. [转][自勉]程序员困境:底层编码能力正逐步丧失
  3. FTP Active Passive
  4. oracle两列合并成一列_POWER QUERY--一个工作簿内的多张工作表合并汇总
  5. http协言和web本质
  6. 六款小巧的HTTP Server[C语言] - 贵贵的博客 - 开发|架构|开源|共享
  7. Linux下的I/O复用与epoll详解(ET与LT)
  8. [转载] JVM(一):JVM体系结构详解
  9. python numpy库是第三方库吗_浅谈python的第三方库——numpy(终)
  10. 建立在线社区:Numenta
  11. C#操作数据库,分页、执行存储过程等 [二] - ADO.NET入门之中
  12. JavaScript中Write和Writeln的区别
  13. 字符串低位优先排序真的只能排序字符串相同的字符么?
  14. 不小心把桌面进程结束了怎么办_本命佛不小心摔碎了怎么办,怎么处理?
  15. 联想y7000p电池固件下载_刚读大学要用电脑,联想系列这3款笔记本学生党绝对喜欢...
  16. Linux中安装tree命令
  17. 体验数学之美——泛函
  18. python爬虫十九:mongodb的使用
  19. MyBatis的高频面试题
  20. WiFi开发视频教程分享 | 免费下载

热门文章

  1. linux:Too Many Open Files(打开的文件过多)
  2. 【maven】改造已有项目
  3. mac nginx apache mysql php 一键_Mac 下搭建 apache / nginx+php+mysql
  4. matlab充分利用性能,Matlab高性能编程——代码优化和并行计算
  5. java html 生成 pdf_Java实现HTML代码生成PDF文档
  6. apache AH01630: client denied by server configuration错误解决方法
  7. 深入理解javascript原型和闭包(9)——简述【执行上下文】下
  8. 来自 Facebook 内部的 Python 学习知识图谱,太全了!
  9. Python词云#疫情退去后,你最想做什么
  10. 【第六期】拿不到offer全额退款 !人工智能工程师培养计划招生