1

次のようなテーブルがあります。

|====brand=====|======title================|
|....Apple.....|...iPhone 5 32 GB..........|
|....Sony......|...Bluetooth Headset.......|

そして、私は基本的に次のように全文検索を使用しています:

SELECT
  *,
  MATCH(brand,title) AGAINST ('some words') as score
FROM
  table

だから私がヘッドセットを検索したとき、mysqlは1.812121のスコアを本当に与えました。

しかし、私がiphoneを検索したとき; mysql は 0 スコアを与えます。

Ps: ft_min_word_len = 2

4

1 に答える 1

1

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

自然言語検索は、検索文字列を人間の自然言語のフレーズ (フリー テキストのフレーズ) として解釈します。特別な演算子はありません。ストップワード リストが適用されます。さらに、行の 50% 以上に存在する単語は一般的であると見なされ、一致しません。修飾子が指定されていない場合、全文検索は自然言語検索になります。

したがって、一般的な単語についてのビットは可能性が高いように聞こえます。

于 2013-05-12T13:19:37.740 に答える