2012-09-21 127 views
1

我正在用照片构建数据库。 通过使用布尔搜索,我得到正确的图像为使用的搜索(短语)。在布尔搜索中筛选出电子邮件地址

现在我有这个问题: 在许多描述中,人或主题的电子邮件地址被标记。像[email protected] 现在,当我想找到公司Telenet的图像时,我得到了包含提供商电子邮件地址的所有记录。谁对我的搜寻没有任何不妥。

这是我搜索的例子:

SELECT ID,auteur, title, datetaken, description, 
keywords,thumbnail,URL,rel_date,showa,initialen,type 
FROM archief 
WHERE MATCH(description, keywords) AGAINST(' +telenet ' IN BOOLEAN 
MODE) AND rechten <> '0' AND showa = '1' AND type >= '2' AND rel_date 
<= '20120921' ORDER BY datetaken desc LIMIT 60' 
in 'where clause' 

我能做些什么来过滤掉包含@符号searchphrase?

+0

为什么不想用'instr'函数和模式过滤掉字符串:'“@”+ company_name +'。''?你甚至可以创建列并在其上应用索引。 – ravnur

回答

1

我想你可以尝试REGEXP操作,在你的事业会看起来像:

SELECT * 
FROM archief 
WHERE 
    description REGEXP '[^@]telenet' OR 
    keywords REGEXP '[^@]telenet' 

该查询应选择含telenet字符串没有descriptionkeywords场前@所有记录。