わかりましたので、MATCH クエリを使用しているため、なぜ多くの結果が得られているのかがわかります。私が欲しいのは、関連する検索が出力されることです。たとえば、検索が「グリーンに興味」の場合、それが意味をなす場合、そこに興味またはグリーンまたは IT があるテーブルからの結果のみを出力します。
現在、すべての結果が得られますが、非常に遅いです。これを実現するために mysql/php 以外を使用したくないので、Lucene や代替のようなサードパーティの検索エンジンは使用しません。
検索コードは次のとおりです。
<?php
mysql_connect("webhost", "user", "pass") or die(mysql_error());
mysql_select_db("replies") or die(mysql_error());
// Retrieve result using term
$term = $_POST['term'];
$sql = mysql_query("SELECT * from 'replies' `where interest_in_green_it` MATCH '%$term%' or `green_it_good_thing MATCH` '%$term%' or `green_it_save_environment` MATCH '% $term%' or `green_it_save_money` MATCH '%$term%' or `green_it_incentive` MATCH '%$term%' or `uel_green_it MATCH` '%$term%' or `MATCH_green_it` MATCH '%$term%' or `printing_costs` MATCH '%$term%' or `travel_costs` MATCH '%$term%' or `comments` MATCH '%$term%' or `uel_green_modules` MATCH '%$term%' or `year_of_study` MATCH '% $term%' or `questionnaire_filled` MATCH '%$term%'");
while ($row = mysql_fetch_array){
echo 'ID: '.$row['ID'];
echo '<br/> Do you have an interest in green IT?: '.$row['interest_in_green_it'];
echo '<br/> Do you think green IT is a good thing?: '.$row['green_it_good_thing'];
echo '<br/> Would you consider green IT if it meant saving the environment?: '.$row['green_it_save_environment'];
echo '<br/> Would you consider green IT if it meant saving money?: '.$row['green_it_save_money'];
echo '<br/> What would be the better incentive to practice green IT?: '.$row['green_it_incentive'];
echo '<br/> DO you think UEL is doing enough to practice green IT? : '.$row['uel_green_it'];
echo '<br/> Do you like green IT?: '.$row['like_green_it'];
echo '<br/> Your estimated monthly travel costs to UEL: '.$row['travel_costs'];
echo '<br/> Your estimated printing costs at UEL at any one time: '.$row['printing_costs'];
echo '<br/> Your comments: '.$row['comments'];
echo '<br/> Would you like to see more green modules at UEL?: '.$row['uel_green_modules'];
echo '<br/> What is your year of study?: '.$row['year_of_study'];
echo '<br/> If you did not fill in the questionnaire why not?: '.$row['questionnaire_filled'];
echo '<br/><br/>';
}
$_GET = array_map('trim', $_GET);
$_POST = array_map('trim', $_POST);
$_COOKIE = array_map('trim', $_COOKIE);
$_REQUEST = array_map('trim', $_REQUEST);
if(get_magic_quotes_gpc()):
$_GET = array_map('stripslashes', $_GET);
$_POST = array_map('stripslashes', $_POST);
$_COOKIE = array_map('stripslashes', $_COOKIE);
$_REQUEST = array_map('stripslashes', $_REQUEST);
endif;
$_GET = array_map('mysql_real_escape_string', $_GET);
$_POST = array_map('mysql_real_escape_string', $_POST);
$_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);
$_REQUEST = array_map('mysql_real_escape_string', $_REQUEST);
?>
前もって感謝します