Мгновенный поиск по сайту
Мне нужно организовать мгновенный поиск для моего сайта (например, Google Instant). Когда пользователь печатает, скрипт должен предлагать результаты. Как я понял, мне нужен php+html+javascript. Любые предложения, или ссылка или что-то полезное?
заранее спасибо
4 ответа
Обычно это делается с помощью AJAX. http://www.w3schools.com/php/php_ajax_livesearch.asp
Для этого вам нужно сумасшедшее количество индексации. Вам нужно проиндексировать почти каждое ключевое слово и сохранить результаты поиска для каждого ключевого слова. Невозможно быстро выполнить живой поиск по базе данных. Когда у вас есть хороший индекс, вы можете использовать функцию.keypress в JQuery, чтобы определить, печатает ли пользователь что-то, как только пользователь вводит что-то, вы можете отправить поисковый запрос на сервер и получить результат и отобразить его с помощью javascript.
Вы должны установить теги для каждой статьи, или ex. поиск в каждой категории на вашем сайте.
Пример кода для внешнего интерфейса:
// index.html
// ajax
<script type="text/javascript">
function loadXML(query) {
$.ajax({
type: "POST",
data: ({ajaxSearch : query.value}),
url: 'search.php',
success: function(data) {
$('#searchcontainer').html(data);
}
});
</script>
// html
<input type="text" id="ajaxSearch" onkeyup="loadXML(this);" />
<div id="searchcontainer"></div>
Попробуйте это с JQuery UI Autocomplete. Это легко установить и довольно легко реализовать то, что вы ищете:
http://jqueryui.com/demos/autocomplete/
Данные для поиска будут в массиве строк, например
[ "tag1", "tag2", "tag3" ... ]
поэтому вам нужно будет выполнить запрос к базе данных (или настроить условия поиска вручную) и заполнить ваш массив на основе этого.