2

したがって、Mysqlテーブルの全文インデックスにデータ行の50%に表示されるキーワードが含まれている場合、そのキーワードは一致クエリによって無視されるようです。

したがって、50個のエントリを含むフルテキストインデックス「content」のテーブルがあり、27個のエントリのコンテンツフィールドに「computer」という単語が含まれている場合、クエリを実行します。

SELECT * 
  FROM `table` 
 WHERE MATCH(`content`) AGAINST ('computer'); 

...コンピュータがエントリの50%以上に表示され、キーワードが無視されるため、コンピュータクエリはゼロの結果を返します...

これはデータベースの寿命の初期段階で問題があるため、この機能を無効にする方法はありますか?

4

2 に答える 2

2

BOOLEAN全文検索を使用して、50%の機能をバイパスします。

http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html

于 2010-07-19T18:11:45.230 に答える
0

はい、ブールフルテキスト検索オプションを使用します

ここを参照してくださいMysqlマニュアル

マニュアルには、「50%のしきい値を使用しない」と記載されています。

MySQLでの検索は直感的ではなく、マニュアルは少し混乱しているため、注意深く読む必要があります。また、テストケースを準備して、MySQLが機能し、正しく実装されていることを確認する必要があります(苦い経験から)。

さまざまな複雑さの検索プラグインが他にもたくさんあり、パフォーマンスが向上していることを確認することをお勧めしますが、ネイティブバージョンは高速で(簡単ですか?)ダーティなので、理解する価値があります。

于 2010-07-19T18:12:40.843 に答える