打印本文 打印本文  关闭窗口 关闭窗口
用asp怎样编写文档搜索页面(1)
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005/9/10 14:19:41
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html><head><title>Microsoft Index Server: 查询语言</title>


<SCRIPT LANGUAGE="JavaScript">
TempString = navigator.appVersion
if (navigator.appName == "Microsoft Internet Explorer"){
// Check to see if browser is Microsoft
if (TempString.indexOf ("4.") >= 0){
// Check to see if it is IE 4
document.writeln('<link rel="stylesheet" type="text/css" href="/iishelp/common/coua.css">');
}
else {
document.writeln('<link rel="stylesheet" type="text/css" href="/iishelp/common/cocss.css">');
}
}
else if (navigator.appName == "Netscape") {
// Check to see if browser is Netscape
document.writeln('<link rel="stylesheet" type="text/css" href="/iishelp/common/coua.css">');
}
else
document.writeln('<link rel="stylesheet" type="text/css" href="/iishelp/common/cocss.css">');
</script>

<META NAME="DESCRIPTION" CONTENT="Tells how to refine searches by using complex queries"></head>

<body bgcolor="#FFFFFF" text="#000000">
<font face="宋体">

<h1><a name="QueryLanguage">查询语言</a></h1>

<p>通过在查询表格中键入单词或短语,然后单击按钮执行查询,就可以在 Web 站点中搜索任意的单词或短语(例如,查询表格示例中的“执行查询”按钮)。本节将介绍以下主题:
</p>

<ul>
<li><strong><a href="#Operators">逻辑和相近运算符</a>:</strong>显示如何通过插入逻辑和相近运算符执行更精确的查询。</li>
<li><strong><a href="#Wildcards">通配符</a>:</strong>帮助您查找包含与所给单词相似的单词的页。</li>
<li><strong><a href="#FreeTextQueries">自由文本查询</a>:</strong> 说明如何基于短语的意思来表述一个查询,而不是用精确的单词。</li>
<li><strong><a href="#VectorQueries">矢量空间查询</a>:</strong>解释如何获得与单词和短语列表匹配的查询结果。</li>
<li><strong><a href="#PropertyValueQueries">属性值查询</a>:</strong>告诉您如何查询文件的属性值。</li>
<li><strong><a href="#Examples">查询示例</a>:</strong>给出各种查询的示例。</li>
<li><strong><a href="#PropertyNamesList">属性名列表</a>:</strong>列出和说明可用于查询的属性名。</li>
</ul>

<p>搜索产生一个文件列表,这些文件中包含某个单词或短语(不管单词或短语出现在文件中的任何地方)。下面列表给出表述查询的规则:</p>

<ul>
<li>连续的单词作为短语对待,它们在匹配文档中必须以相同的顺序出现。</li>
<li>查询不区分大小写,因此可以用大写或小写键入查询。</li>
<li>可以搜索任何单词,但不包括在例外列表中列出的单词(对于英语,包括 <em>a</em>、<em>an</em>、<em>and</em>、<em>as</em> 和其他一些单词), 它们在查询中将被忽略。</li>
<li>在例外列表中的单词在短语中将作为占位符对待,用来进行相似查询。例如,如果查询“Word for Windows”,结果将给出“Word for Windows”和“Word and Windows” ,因为 <em>for </em> 是一个在例外列表中出现的虚词。</li>
<li>标点符号在搜索时将被忽略,如句号 (.)、冒号 (:)、分号 (;) 和逗号 (,)。</li>
<li>要在查询中使用特殊对待的字符,如 &、|、^、#、@、$、(、),请用引号 (“) 将查询括起来。</li>
<li>要搜索包含引号的单词或短语,请先用引号把整个短语括起来,并用两遍引号括住想用引号括起来的单词。例如,“World-Wide Web or ““Web””” 将搜索 <em>World-Wide Web or “Web”</em>。</li>
<li>可以插入<a href="#Operators">逻辑运算符</a>(<strong>AND</strong>、 <strong>OR</strong> 和 <strong>NOT</strong>)以及<a href="#Operators">相近运算符</a> (<strong>NEAR</strong>) 来指定附加的搜索信息。</li>
<li><a href="#Wildcards">通配字符</a> (*) 可以用所给前缀匹配单词。查询 esc* 可以匹配词条 “ESC”、“escape” 等等。</li>
<li><a href="#FreeTextQueries">自由文本查询</a>可以不按查询语法指定查询。</li>
<li>可以指定<a href="#VectorQueries">矢量空间查询</a>。</li>
<li>可以执行 ActiveX&#8482; (OLE) 和文件属性的<a href="#PropertyValueQueries">属性值查询</a>。</li>
</ul>

<h1><a name="Operators">逻辑和相近运算符</a></h1>

<p>逻辑和相近运算符可以创建更精确的查询。</p>

<table border="1" cellpadding="4" cellspacing="1" width="100%">
<tr>
<th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%>搜索目标</th>
<th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%>示例</th>
<th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%>结果</th>
</tr>
<tr>
<td valign="top">同一页中同时包含两个词条</td>
<td valign="top"><code>access and basic</code><br>
<strong>?</strong>或<strong>?</strong><br>
<code>access & basic</code></td>
<td valign="top">包含单词“access”和“basic”的页。</td>
</tr>
<tr>
<td valign="top">同一页中包含两个词条之一</td>
<td valign="top"><code>cgi or isapi</code><br>
<strong>?</strong>或<strong>?</strong><br>
<code>cgi | isapi</code></td>
<td valign="top">包含单词“cgi”或“isapi”的页。</td>
</tr>
<tr>
<td valign="top">包含第一个词条,但不包含第二个词条</td>
<td valign="top"><code>access and not basic</code><br>
<strong>?</strong>或<strong>?</strong><br>
<code>access & ! basic</code></td>
<td valign="top">包含单词“access”,但不包含单词“basic”的页。</td>
</tr>
<tr>
<td valign="top">不匹配某个属性值的页</td>
<td valign="top"><code>not @size = 100</code><br>
<strong>?</strong>或<strong>?</strong><br>
<code>! @size = 100</code></td>
<td valign="top">大小不是 100 字节的页。</td>
</tr>
<tr>
<td valign="top">同一页中同时包含两个词条,且互相靠近</td>
<td valign="top"><code>excel near project</code><br>
<strong>?</strong>或<strong>?</strong><br>
<code>excel ~ project</code></td>
<td valign="top">包含互相靠近的单词“excel”和“project”的页。</td>
</tr>
</table>

<p>提示:</p>

<ul>
<li>可以在查询表达式中加入括弧,表达式中带括弧的部分比查询的其他部分先执行。</li>
<li>使用双引号 (“) 可以指明逻辑或 <strong>NEAR</strong> 运算符关键字在查询中需要忽略。例如,“Abbott and Costello”将匹配包含该短语的页,而不是匹配符合该逻辑表达式的页。作为运算符,单词 <em>and</em> 在英语中是一个虚词。</li>
<li><strong>NEAR</strong> 运算符与 <strong>AND</strong> 运算符相似, <strong>NEAR</strong> 也返回一页中两个单词都包含的页。但是,<strong>NEAR</strong> 和 <strong>AND</strong> 运算符不同之处在于,<strong>NEAR</strong> 要看单词是否靠近。也就是说,包含搜索单词较近的页的等级将大于或等于单词相隔较远的页的等级。如果搜索的单词相隔大于 50 个单词,该页将定为等级零</li>
<li>在内容查询中,<strong>NOT</strong> 运算符只能用在 <strong>AND</strong> 运算符之后,它仅用来排除匹配前面内容约束的页。对于属性值查询,<strong>NOT</strong> 运算符可以不与 <strong>AND</strong> 运算符一起使用。</li>
<li><strong>AND</strong> 运算符的优先级高于 <strong>OR</strong>。例如,下面的前三个查询相等,但第四个不同:<br>
a AND b OR c<br>
c OR a AND b<br>
c OR (a AND b)<br>
(c OR a) AND b</li>
</ul>

<p><strong>注意</strong>   在所有语言中,符号(&、|、!、 ~)与英语关键字 <strong>AND</strong>、<strong>OR</strong>、<strong>NOT</strong> 和 <strong>NEAR</strong> 的作用相同(Index Server 支持)。如果浏览器被设置为下列六种语言,本地化的关键字也可以使用。</p>

<table border="1" cellpadding="4" cellspacing="1" width="100%">
<tr>
<th align="Left" valign="bottom" bgcolor="#C0C0C0" width="40%">语言</th>
<th align="Left" valign="bottom" bgcolor="#C0C0C0" width="60%">关键字</th>
</tr>
<tr>
<td valign="top">德语</td>
<td valign="top"><strong>UND</strong>、<strong>ODER</strong>、<strong>NICHT</strong>、<strong>NAH</strong></td>
</tr>
<tr>
<td valign="top">法语</td>
<td valign="top"><strong>ET</strong>、<strong>OU</strong>、<strong>SANS</strong>、 <strong>PRES</strong></td>
</tr>
<tr>
<td valign="top">西班牙语</td>
<td valign="top"><strong>Y</strong>、<strong>O</strong>、<strong>NO</strong>、<strong>CERCA</strong></td>
</tr>
<tr>
<td valign="top">荷兰语</td>
<td valign="top"><strong>EN</strong>、<strong>OF</strong>、<strong>NIET</strong>、 <strong>NABIJ</strong></td>
</tr>
<tr>
<td valign="top">瑞典语</td>
<td valign="top"><strong>OCH</strong>、<strong>ELLER</strong>、<strong>INTE</strong>、<strong>N&Auml;RA</strong></td>
</tr>
<tr>
<td>意大利语</td><td><strong>E</strong>、<strong>O</strong>、<strong>NO</strong>、<strong>VICINO</strong></td>
</tr>
</table>
<p><strong>注

[1] [2]  下一页



打印本文 打印本文  关闭窗口 关闭窗口