Мгновенный поиск по сайту

Мне нужно организовать мгновенный поиск для моего сайта (например, 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" ... ]

поэтому вам нужно будет выполнить запрос к базе данных (или настроить условия поиска вручную) и заполнить ваш массив на основе этого.

Другие вопросы по тегам