sql >> データベース >  >> RDS >> Mysql

検索クエリでハイフンを使用した全文検索を許可する方法

    ここから http://dev.mysql.com/doc /refman/5.0/en/fulltext-search.html

    ダッシュまたはハイフンを含む単語を検索する1つの解決策は、BOOLEANモードで全文検索を使用し、単語をハイフン/ダッシュで二重引用符で囲むことです。

    または、ここから http://bugs.mysql.com/bug.php?id=2095

    別の回避策があります。最近マニュアルに追加されました:「文字セットファイルの変更:これは再コンパイルの必要はありません。true_word_char()マクロは「文字タイプ」テーブルを使用して文字と数字を他の文字と区別します。.文字の1つの内容を編集できます。 XMLfilesを設定して、「-」が「文字」であることを指定します。次に、指定された文字セットをyourFULLTEXTインデックスに使用します。 "

    自分で試したことはありません。

    編集:ここからいくつかの追加情報があります http:/ /dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html

    二重引用符( "" ")文字で囲まれたフレーズは、入力されたとおりに、そのフレーズを文字通り含む行にのみ一致します。フルテキストエンジンは、フレーズを単語に分割し、FULLTEXTインデックスで単語の検索を実行します。 MySQL 5.0.3より前では、エンジンは見つかったレコード内のフレーズのサブストリング検索を実行したため、一致にはフレーズ内の非単語文字が含まれている必要があります。MySQL5.0.3以降、非単語文字は正確に一致する必要はありません。フレーズ検索では、一致にフレーズとまったく同じ単語が同じ順序で含まれている必要があります。たとえば、「testphrase」はMySQL 5.0.3の「test、phrase」と一致しますが、以前は一致しません。

    フレーズにインデックスに含まれる単語が含まれていない場合、結果は空になります。たとえば、すべての単語がストップワードであるか、インデックス付き単語の最小長より短い場合、結果は空になります。



    1. Apache Sparkに火をつける–パート2

    2. MySQLCOALESCEおよびNULLIF関数

    3. MySQL ADD COLUMN

    4. Postgresで関数のオーバーロードを無効にする方法はありますか