1

イントラネットでmysql全文検索を使用しようとしました。複数のテーブルを検索し、結果ページのテーブルに応じて独立した結果を取得するために使用したかったのです。

これは私が検索のためにしたことです。

$query = "
        SELECT *
        FROM testtable t1, testtable2 t2, testtable3 t3
        WHERE match(t1.firstName, t1.lastName, t1.details) against(' ".$value."')
        or match(t2.others, t2.information, t2.details) against(' ".$value."')
        or match(t3.other, t2.info, t2.details) against(' ".$value."')
        ";

$result = mysql_query($query)or die('query error'.mysql_error());

while($row = mysql_fetch_assoc($result)){
    echo $row['firstName'];
    echo $row['lastName'];
    echo $row['details'].'<br />';
}

クエリを最適化し、検索結果の出力をフォーマットすることについて何かアイデアはありますか?

4

1 に答える 1

0

fulltext index複数のテーブルにを作成することはできません。だから私はfulltext index各テーブルとor節(あなたがそうするのと同じように)で十分に良いと思います。

ただし、(3つのテーブルに基づいて)ビューを作成し、そのビューに対してフルテキストインデックスを作成することはできます。

編集:残念ながら、Mysqlのビューにインデックスを作成することはできません

于 2010-03-08T10:47:45.190 に答える