搜索数据库中的冒犯性词语

时间:2010-09-05 18:16:21

标签: php mysql

我正在寻找在我的数据库上按照设定的时间间隔搜索我认为令人反感的单词列表(因为我是一个独裁的独裁者,我讨厌言论自由 - 我用铁拳统治)。

如何最有效地搜索我的数据库以获取关键字列表?我打算搜索的两列被编入索引为全文。

如果有人知道一系列令人反感的冒犯性词汇,那么

对那些嘲笑我审查的企图的人的说明

我将有两个系统。第一个是报告功能,由管理员每天检查。打击持不同政见者的第二个工具就是这个。它需要的只是一个单词搜索,以便管理员可以检查并判断内容是否具有攻击性。

3 个答案:

答案 0 :(得分:2)

Mysql不会为您提供精确搜索的工具,如果您有以下单词,请参考此示例:

  

<强>自由

既然你是一个独裁者,你不想要它,它应该出现,但是聪明的用户会把fr33dom,这是相同的,现在你有3种方法来点这个:

  1. 您在列表中放置一个单词和 你能想象的大多数派生词
  2. 您在MySql查询中使用LIKE进行搜索,但是当您达到数千时,它应该是懒散的,即使使用全文索引
  3. 使用Lucene索引您的内容
  4. 我会选择第三个,因为Lucene是进行搜索的最佳选择,因为你正在寻找文字,我可以想象你正在处理文本,所以这可能比你想象的更有帮助。 Lucene可以帮助您搜索类似于自由的单词,但不是,在那里你不应该错过很多!你的规则是有保障的!

    Lucene使用Zend Framework扩展,您可以在Google轻松找到它们。

    祝你独裁的好运!

答案 1 :(得分:1)

这是你的盯着名单! http://onlineslangdictionary.com/lists/most-vulgar-words/ 检查网站了解更多

idea:DB列出他们的列表,然后屏蔽你的数据库。 或者,DB他们的列表,创建所有关键词,阻止输入。 然后,在单词中使用SQL通配符来检查:自由或Fr ** dom,

但问题是tech1派生是无限的。

答案 2 :(得分:0)

以下链接指向12种语言的2200个不良单词列表。可以使用MySQL转储,JSON,XML或CSV选项。

https://github.com/turalus/openDB

将此转储执行到您自己的数据库中,然后查询是否存在任何事件。