私は、多くの行と多くの列を持たない表を持っています。私は3列の全文検索を行っています。部分一致で全文を検索するにはどうすればよいですか?
私のコードは、私が正しくABCDEFGH ... として存在している ABCDEFGH などの用語を検索することができます
$search_input = trim($_GET['s']);
$search = mysql_real_escape_string($search_input);
$search = '+'.str_replace(' ', '* +', $search).'*';
$sql = "SELECT * FROM table WHERE
MATCH(def, pqr, xyz) AGAINST ('$search' IN BOOLEAN MODE)";
$result = mysql_query($sql);
...です。
しかし、私はテーブルエントリにABC-123のような存在なものであり、また、abcdefghsなどの用語ABC、などの検索用語で空のセットを受け付けております。 (これは上記の複数形であることに注意してください)
明らかに私は部分検索などを実装する必要があります。
しかし、どのようにこのような検索を実装しますか?ユーザーの入力に対してテーブル全体の検索を行うより良い方法はありますか?
私が間違っていることを言及してください。
EDIT:各単語の後に*を追加することで、今私も ABCDE を検索することですが、問題の上に残っています。
私はこのトラブルに直面していますようにはい、見えます。私はあなたが参照したページは、デフォルトは4文字3ではないと言います。そして、私はこの長さに触れることはできません。 –
申し訳ありません。ドキュメントを見るには、confファイルの 'ft_min_word_len'オプションを設定すると役に立ちます。 – JohnP