Використання об'єктів Microsoft Index Server, Різне, Інтернет-технології, статті
Чи знаєте ви, що для того щоб створити пошукову систему на сайті ви можете використовувати Microsoft Index Server, який входить в Microsoft IIS? Завдяки цьому програмному пакету ви зможете швидко і легко створити власний пошук по сайту.
Не вірите? Тоді, подивимося разом. Створимо на сторінці форму пошуку, де ваш відвідувач зможе вводити запит і яка буде звертатися до БД Index Server.
Створення форми для пошуку
Форма для пошуку являє собою звичайну HTML-форму з декількома прихованими ("hidden") полями, які відповідають за специфіку запиту до пошукової системи.
<form method=”get” action=”/sitesearch/sitesearch.asp”
id=form1 name=form1>
<!– search text –>
<table width=”100%”>
<tr width=”100%” bgcolor=”Black”>
<td width=”100%”>
<font color=”White”>
<b>Search</b>
</font>
</td>
</tr>
</table>
<input type=”text” name=”qu” size=”20″><br><!– max hits –>
<input type=”hidden” name=”mh” value=50>
<!– sort by hits –>
<input type=”hidden” name=”sd” value=”Hitcount”>
<!– allow enumeration –>
<input type=”hidden” name=”ae” value=”1″>
<!– catalog –>
<input type="hidden" name="ct" value="c:inetpubwww07120index">
<Input type = "submit" value = "Фас!" name = "Search">
<a href="/sitesearch/searchhelp.asp"> <font size=-1> Help </ a> </ font>
</form>
При перегляді готової сторінки в браузері ви побачите текстове поле для введення запиту і кнопку "Фас!". Приховані поля означають наступне:
- mh – максимальне число документів (hits), яке може повернути пошукова система. Наприклад, ви можете встановити це значення в 200. Завдання занадто великого значення може надмірно завантажити ваш веб-сервер, проте дуже маленьке – також може повернути недостатня кількість результатів, тому тут вам буде потрібно визначити найбільш оптимальне число для вашого сайту.
- sd – ім'я поля, по якому потрібно проводити сортування. У нашому прикладі ми використовуємо поле hitcount, яке містить кількість повторень слова в документі, тобто відсортуємо результати пошуку по релевантністю в порядку убування – descending (звідси і "d" в назві поля).
- ct вказує, де знайти каталог або індексного БД, яка буде використовуватися. Коли для створення індексу включається Index Server, адміністратор вказує, де буде знаходиться індексний БД. Ви повинні задати в цьому полі правильний шлях інакше пошуковий запит поверне порожній результат.
Для відображення результату будемо викликати іншу сторінку, яка буде отримувати запит з пошукової форми і передавати його серверу, причому, зверніть увагу, що використовується тип GET.
Створення Сторінки для відображення результатів пошуку
Тепер черга за сторінка результатів, яка буде отримувати значення з форми, щоб передати їх Index Server.
Загальний схема її роботи буде наступною:
<%
Створюємо об'єкт Query і инициализируем його
використовуючи SetQueryFromURLSet objQuery = Server.CreateObject(“ixsso.Query”)
Отримати властивості query з вхідної
URL (використовуючи тип форми GET)
objQuery.SetQueryFromURL(Request.QueryString)Задамо необхідні поля
objquery.columns = "filename, HitCount, vpath, DocTitle, characterization"Відкриємо recordset
set rsQuery = objquery.createrecordset(“nonsequential”)І поки властивість rsquery.eof не дорівнює TRUE виводимо
результати. Значення TRUE означатиме кінець recordset%>
<html>
<head>
</head><h1> Результати пошуку </ h1>
<br><br>
<%
if not rsquery.eof then
Response.Write "Знайдено" _
& Rsquery.recordcount & "документів."
if rsquery.recordcount > 30 then
Response.Write "Спробуйте більш" _
& "Точно сформулювати запит."
end if
Response.Write “<br>”
end if
%><%
if not rsquery.eof then
while not rsquery.eof and rowcount > 0
if rsquery(“doctitle”) <> “” then
Response.Write “<p><b><a href=” _
& rsquery(“vpath”) & “>” _
& Rsquery ("doctitle") & "</ a> </ b> <br>"
response.write “<font size=-1>” _
& rsquery(“characterization”) _
& “…</font><Br>”
Response.Write “<font size=-2>” _
& rsquery(“hitcount”) & “</font></p>”
end if
rowcount = rowcount – 1
rsquery.movenext
wend
Response.Write “<br><Br>”
%><%
else
%><p>
Документи не знайдені. Спробуйте сформулювати
ваш запит по-іншому.
</p><%
end if
%></body>
</html>
Перша річ, яку потрібно зробити – це встановити посилання на об'єкт Index Server, шляхом використання методу server.creatobject:
Set objQuery = Server.CreateObject(“ixsso.Query”)
Тепер об'єкт objQuery встановлений і готовий для настройки. Задамо запит, який потрібно виконати в БД. Він може бути отриманий з вхідної інформації URL використовуючи:
objQuery.SetQueryFromURL(Request.QueryString)
Потім, зазначимо назви полів, які потрібно повертати на сторінці результатів пошуку.
objquery.columns = "filename, HitCount, vpath, DocTitle, characterization"
У нашому прикладі це: ім'я файлу документа filename; число повторень слова HitCount, яке зустрічається в документі; заголовок документа (в HTML-тегу Title) DocTitle; інформація про фото characterization. Цей набір даних дозволить дати користувачеві коротку, але, в той же час, досить ємну інформацію про знайдені документах.
Якщо ви використовуєте мета-тег Description для завдання опису документа, то його зміст буде включено в characterization. Якщо ні, тоді characterization буде повертати початок документа. Так як Index Server ігнорує код ASP-скрипта, то в останньому випадку ви отримаєте "реальне" зміст.
І, нарешті, можна зробити запит до БД – просто створюємо recordset, також як в будь-якому іншому випадку роботи з ADO.
set rsQuery = objquery.createrecordset (“nonsequential”)
З повертається набором записів rsQuery можна використовувати MoveNext, MovePrev та ін методи ADO. Щоб отримати значення поля використовуйте створений об'єкт rsQuery:
rsquery(“doctitle”)
Щоб одержати кількість записів, повернутих запитом, використовуйте властивість Rsquery.RecordCount.
Таким чином, ми зробили елементарний приклад роботи ASP-додатки з Index Server. Спробуйте його, це дійсно просто! Створивши власну пошукову систему ви придати вашому сайту більш професійний вид й уникнете передчасний відхід користувачів з сайту, так як у них тепер з'явиться можливість швидко знайти всі ваші документи.
Схожі статті:
- Мета - теги, оптимізація. (0)
- Вибір ключових слів. (0)
- П'ять головних міфів про пошукових системах (0)
- М'яке підвищення ІЦ та PR (0)
- Пошукові форми (0)
- JavaScript (0)
- Ігри в асоціації (0)
Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.
Коментарів поки що немає.
Ваш отзыв
Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>