1

という名前の MyISAM テーブルがありますlinks。インデックスをsearcher持つ列があります。FULLTEXTこれは私の変数値です:

  1. ft_min_word_len = 1
  2. ft_stopword_file =
  3. ft_max_word_len = 84

[show]&の両方を含む行を[1]任意の順序で一致させる必要があります。
このクエリを実行します。

SELECT * FROM links WHERE MATCH(searcher) AGAINST('+[show] +[1]' IN BOOLEAN MODE)

ただし、文字列を含まない行にも一致してい[1]ます。どうしたの?

4

1 に答える 1

1

括弧は検索文字列の一部であり、グループ化式の構文の一部ではないことを明確にする必要があるようです。

このクエリはあなたのために働くはずです:

SELECT * FROM links WHERE MATCH(searcher) AGAINST('+"[show]" +"[1]"' IN BOOLEAN MODE)

いくつかのフィドルの例を次に示します。

于 2013-02-26T20:25:12.937 に答える