SQL系列:全文本搜索

       使用全文本搜索时需要注意的是,并不是所有的数据库引擎都支持全文本搜索。

       在使用全文本搜索时需要索引。为了进行全文搜索,必须索引被搜索的列,而且要随着数据的改变不断的更新索引。在对表进行适当的设计之后,MySQL 会自动进行所有的索引和重新索引。索引之后, select 可和 match 和 against 一起使用来执行搜索。

建表时索引:

create table productnotes

{note_id int  ...,

prod_id int  ...,

note_text text  null,

......

fulltext(note_text)

}

现在进行全文本搜索

select note_text from productnotes where match(note_text) against('rabbit')

执行结果如下

note_text

Customer complain:rabbit ......

.............. rabbit ........

结果是返回了两行,这两行都含有关键字rabbit,

当然了也可以使用 like关键字来完诚这种工作,如下

select note_text from productnotes where note_text like ‘%rabbit%’

然后是行数也是两行,当时排序更上面语句执行的返回结果排序不一样。

使用全文本搜索的结果越靠前面的结果等级是越高(关键字越靠前,出现的次数等)。

拓展

select note_text ,match(note_text) against ('rabbit') as rank

该语句执行结果会返回所有行,但是会加个等级的列,大致如下

note_text                                      rank

.........                                           0

......rabbit....                                  1.5902356.......

.....rabbit......                                 1.64.......

 

select note_text  from productnote where match(note_text) against ('anvlis' with query expansion)

note_text 

customer ........anvlis.....

customer........

第二行没有关键字 anvlis,但是包含有第一行的词 customer,这个就是查询扩展的作用。

布尔文本搜索

select note_text  from productnote where match(note_text) against ('heavy’ in boolean mode )

该语句执行结果跟没有 in boolean mode 是一样的

select note_text  from productnote where match(note_text) against ('heavy -rope*’ in boolean mode )

结果:只匹配包含 heavy 但是不包含以 rope开始的词

select note_text  from productnote where match(note_text) against ('+rabbit  +bait’ in boolean mode )

匹配包含rabbit和 bait 的行

select note_text  from productnote where match(note_text) against ('rabbit  bait’ in boolean mode )

匹配至少包含 rabbit 或 bait 的行

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL注入是一种常见的网络安全攻击方式,利用这种漏洞,黑客可以通过在用户输入的数据中注入恶意SQL语句来达到控制或者篡改数据库的目的。而谷歌搜索SQL注入点是指使用谷歌搜索引擎来查找当前互联网上可能存在SQL注入漏洞的网站或者系统。下面就如何用谷歌搜索SQL注入点进行简要介绍。 首先,我们可以在谷歌搜索栏中输入“SQL注入”或者“SQL注入点”,然后点击搜索按钮。谷歌将会返回一系列相关的搜索结果。我们可以点击其中任意一个结果,查看该网站是否具有SQL注入漏洞。 另外,我们还可以使用一些针对SQL注入漏洞的特定搜索语法来精确地搜索这些漏洞。例如,我们可以使用“inurl:php?id=”的搜索语法,这样谷歌就会返回具有url中包含“php?id=”的网站,其中“id=”是常见的SQL注入漏洞表现形式之一。 此外,还可以使用其他关键词,比如"SQL注入语句"、“SQL注入漏洞利用”等来搜索。通过这些关键词的组合使用,我们可以更方便地寻找到存在SQL注入漏洞的网站或者系统。 在使用谷歌搜索SQL注入点的过程中,我们需要注意一些道德和法律问题。首先,我们应该遵守法律法规,不得擅自利用这些漏洞进行恶意攻击或者非法活动。其次,我们应该明确自己的行为目的,如果是为了提高网络安全意识或者测试自己的网站安全性,我们需要提前取得相关授权,并在合法的范围内进行行动。 总之,通过谷歌搜索SQL注入点可以帮助我们找到存在SQL注入漏洞的网站或者系统,但我们必须遵守法律法规和道德规范,不能滥用这些信息来进行非法活动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值