MariaDBでフルテキスト検索をしようとしても処理できないという問題が発生しました。MariaDBで部分文字列や単語を検索する
myテーブルは次のように生成されます。
CREATE TABLE test (email TEXT, FULLTEXT(email)) ENGINE=InnoDB;
いくつかのデータを挿入します。
MariaDB [frauctive]> select * from test;
+---------------------------------+
| email |
+---------------------------------+
| [email protected] |
| [email protected] |
| [email protected] |
| [email protected] |
| [email protected] |
| [email protected] |
+---------------------------------+
私は機能との対戦を使用すると、取得したい類似度スコアを取得できません。
MariaDB [frauctive]> SELECT email, MATCH(email) AGAINST('*david*' IN BOOLEAN MODE) AS relevance
-> FROM test ORDER BY relevance DESC;
+---------------------------------+--------------------+
| email | relevance |
+---------------------------------+--------------------+
| [email protected] | 0.0906190574169159 |
| [email protected] | 0.0906190574169159 |
| [email protected] | 0.0906190574169159 |
| [email protected] | 0 |
| [email protected] | 0 |
| [email protected] | 0 |
+---------------------------------+--------------------+
「[email protected]」エントリは「ダビデのパターンが含まれているAltough、スコアは0
を返しますが、この関連性を修正するために私を助けてくださいことはできますか?
をフルテキストインデックスは '*デヴィッド*'では動作しません。全文索引を使用しない 'LIKE '%david%' 'を使用する必要があります。 – Adder
それは実際に働いた。私は 'david'、 'david *'、 '%david%'を試みましたが、結果を処理しませんでした。 –