1

写真のデータベースを構築しています。ブール検索を使用して、使用した検索 (フレーズ) に適した画像を取得します。

今、私はこの問題を抱えています: 説明の多くで、人または件名の電子メールアドレスがマークされています. my.name@telenet.beのように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'

記号を含む検索フレーズを除外するにはどうすればよい@ですか?

4

1 に答える 1

1

REGEXP 演算子を試すことができると思います。あなたの原因では、次のようになります。

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

このクエリは、またはフィールドのtelenet@に文字列を含まないすべてのレコードを選択する必要があります。descriptionkeywords

于 2012-09-21T16:19:20.663 に答える