0

これが私のデータベースコードです。1 ではなく 0 を示す問題の結果

  CREATE TABLE IF NOT EXISTS `house_details` (
   `houses_id` int(10) unsigned NOT NULL AUTO_INCREMENT,

   `everything_search` text NOT NULL

    FULLTEXT KEY `everything_search` (`everything_search`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 


    INSERT INTO `house_details` (`everything_search`) VALUES
     ('Good very good new-market Mymenshing Family sourov 4564'),

ここに私のデータベースクエリコマンドがあります

SELECT * FROM house_details WHERE MATCH (everything_search) AGAINST ('Mymenshing') > 0   ORDER BY `houses_id` DESC LIMIT 0,3 

* and result is * MySQL が空の結果セット (つまり、ゼロ行) を返しました。(クエリには 0.0013 秒かかりました)

4

2 に答える 2

1

それはブールモードで私のために働きます:

SELECT * FROM house_details WHERE MATCH (everything_search) 
AGAINST ('Mymenshing' In Boolean mode) > 0   ORDER BY `houses_id` DESC LIMIT 0,3

ここを見てください:http://www.sqlfiddle.com/#!2/d4471/6

いくつかの再検索を行った後、Mysql の match-agains にバグがあることがわかりました: http://bugs.mysql.com/bug.php?id=19583

「ストップワード」を修正する方法は次のとおりです。 #!2/d4471/6

于 2012-11-09T15:35:09.280 に答える
0

>0where句には必要ないと思います:

        SELECT * FROM house_details 
        WHERE MATCH (everything_search) AGAINST ('Mymenshing')
        ORDER BY `houses_id` DESC LIMIT 0,3 ;
于 2012-11-09T14:16:05.900 に答える