Использование ASP для реализации функций поисковых систем очень удобно, но как реализовать интеллектуальный поиск? Прочитав эту статью, вы обнаружите, что на самом деле очень просто реализовать эту функцию. Давайте следим за редактором неправильного нового технологического канала, чтобы узнать больше!
Шаги по реализации интеллектуального поиска ASP
Первый шаг - создать базу данных под названием db_sample.mdb (в этой статье используется номер Access2000
База данных используется в качестве примера) и создайте в ней таблицу. Таблица t_sample включает в себя следующие поля:
ID автоматическая нумерация
U_name текст
U_info Примечания
На втором этапе мы начинаем проектировать страницу поиска. Эта страница включает в себя форму
(Frm_search), форма включает в себя текстовое поле и кнопку отправки. И поместите метод формы
Установите природу, чтобы «получить», а атрибут действия установлен на «Search.asp», что означает отправку его на саму веб -страницу. Код выглядит следующим образом
:
Пожалуйста, введите ключевые слова:
Далее мы вводим ключевую часть реализации интеллектуального поиска.
Во -первых, установить подключение к базе данных. Добавьте следующий код в начало search.asp:
<%
Dim StrProvider, CNN
strprovider = "Provider = microsoft.jet.oledb.4.0; Data Source ="
strprovider = strprovider & server.mappath ("/") &
"/data/db_sample.mdb" "Предположим, что база данных хранится в каталоге данных в корневом каталоге домашней страницы
Установить cnn = server.createObject ("adodb.connection")
CNN.Open strProvider 'Открыть подключение к базе данных
%>
Затем судите данные, полученные страницей ASP, и поиск в базе данных.
<%
Dim S_KEY, RST, STRSQL
S_key = trim (request ("key")) 'Получите значение ключевого слова поиска
Если s_key <> "" тогда
Set rst = server.createObject ("adodb.recordset")
Strsql = autokey (s_key) 'function autokey () используется здесь, функция
Число является ядром интеллектуального поиска
Rst.open strsql, cnn, 3,2 'Получите поисковую запись
Если RST.BOF и RST.EOF тогда
%>
Результаты не было найдено! ! !
<%
Еще
%>
Имя поиска "< %= s_key %
Элемент> «был найден в общем < %= rst.recordcount %
> Предмет:
<%
Пока не rst.eof 'Путешествовать по всей записи, установленной для отображения поисковых букв
и настроить ссылки
%>
href = "info.asp? id = <%= rst (" id ")%>" target = "_ blank"> <%= rst ("u_name")
%>
<%= Слева (rst
("U_info"), 150) %>>
<%
Rst.movenext
Венд
Rst.close
Установить rst = ничего
Конец, если
Конец, если
%>
В приведенном выше коде есть пользовательская функция Autokey, которая является ядром, которое реализует интеллектуальный поиск
Где сердце. Код заключается в следующем:
<%
Функция Autokey (Strkey)
Const lngsubkey = 2
Dim Lnglenkey, Strnew1, Strnew2, I, Strsubkey
«Проверьте законность строки, если она не является законной, перейдите на страницу ошибки. Вы можете сделать страницу ошибки по мере необходимости
Сделать настройки.
Если instr (strkey, "=") <> 0 или instr (strkey, "` ") <> 0 или instr
(Strkey, "'") <> 0 или instr (strkey, "") <> 0 или instr (strkey, "") <> 0 или instr (strkey "") <> 0 или
Instr (strkey, "'") <> 0 или instr (strkey, chr (34)) <> 0 или instr (strkey, "/")
<> 0 или instr (strkey, ",") <> 0 или instr (strkey, "<") <> 0 или instr
(Strkey, ">") <> 0 тогда
Response.redirect "error.htm"
Конец, если
lnglenkey = Len (Strkey)
Выберите Case lnglenkey
Случай 0 'Если это пустая строка, перейдите на страницу ошибки
Response.redirect "error.htm"
Случай 1 'Если длина составляет 1, значение не установлено.
strnew1 = ""
strnew2 = ""
Случай еще ', если длина больше 1, начните с первого символа строки и возьмите длину как
Подстроение 2 как условия запроса
Для i = 1 до lnglenkey- (lngsubkey-1)
strsubkey = mid (strkey, i, lngsubkey)
strnew1 = strnew1 & "или u_name like '%" & strsubkey
& "%'"
strnew2 = strnew2 & "или u_info like '%" & strsubkey
& "%'"
Следующий
Конец выбора
'Получите полный оператор SQL
Autokey = "select * from t_sample, где u_name like '%" & strkey
& "%'или u_info like'%" & strkey & "%'" & strnew1 & strnew2
Конечная функция
%>
Для достижения интеллектуального поиска ядро состоит в том, чтобы автоматически группировать ключевые слова поиска. Здесь мы делаем
Используется метод запекания в подстроки с длиной 2. Почему бы не установить длину подстроки на 1, 3, 4 или около того?
Это связано с тем, что если длина подстроения меньше 2, то есть 1, функция группировки ключевых слов будет потеряна, и если длина подстроения
Если больше 2, некоторые фразы будут потеряны. Вы можете изменить const lngsubkey = 2 на другие цифры и попробовать
, ясно, какой из них лучше или хуже.
Наконец, не забудьте отключить соединение данных, чтобы освободить ресурсы.
<%
Cnn.close
Установить CNN = ничего
%>
Выше приведено, как реализовать интеллектуальный поиск. Для получения дополнительных технических знаний, пожалуйста, продолжайте обращать внимание на неправильный новый канал технологии!