Я пытаюсь создать поисковую систему для своего сайта. Он работает очень хорошо, если я вводим одно слово в качестве поискового запроса, например foo
или bar
. Проблема в том, что он терпит неудачу, когда я ввожу два или более слова, например foo bar
.PHP: попытка создать поисковую систему для моего сайта
Как я должен иметь дело с такими словами? Разделите слова (используя explode
), а затем найдите каждое слово в таблице для индексированных слов? Это не очень хорошая идея.
Я использую метод GET
для этой поисковой системы.
<?php
if($_GET['query']){
$search = $_GET['query'];
$search = strip_tags($search);
$search = trim($search);
$search = addslashes(strtolower($search));
echo $search;
$start = microtime();
$searchquery = mysql_query("SELECT sw_wordid FROM tbl_search_word WHERE sw_word LIKE '%$search%'");
//tbl_search_word contains all the indexed words
$searchrow = mysql_fetch_array($searchquery);
$end = microtime();
echo $searchrow['sw_wordid'].'<br />';
echo $end - $start;
}
?>
Вы используете get? после? или что-то другое? –
Я бы предложил посмотреть на что-то наподобие Zend_Search_Lucene – Orangepill
@RickyMason Я использую GET –