用asp编写文档搜索页面
来源:CSDN 发布时间:2008-01-13 07:04:00
查询语言
通过在查询表格中键入单词或短语,然后单击按钮执行查询,就可以在 Web 站点中搜索任意的单词或短语(例如,查询表格示例中的“执行查询”按钮)。本节将介绍以下主题:
逻辑和相近运算符:显示如何通过插入逻辑和相近运算符执行更精确的查询。
通配符:帮助您查找包含与所给单词相似的单词的页。
自由文本查询: 说明如何基于短语的意思来表述一个查询,而不是用精确的单词。
矢量空间查询:解释如何获得与单词和短语列表匹配的查询结果。
属性值查询:告诉您如何查询文件的属性值。
查询示例:给出各种查询的示例。
属性名列表:列出和说明可用于查询的属性名。
搜索产生一个文件列表,这些文件中包含某个单词或短语(不管单词或短语出现在文件中的任何地方)。下面列表给出表述查询的规则:
连续的单词作为短语对待,它们在匹配文档中必须以相同的顺序出现。
查询不区分大小写,因此可以用大写或小写键入查询。
可以搜索任何单词,但不包括在例外列表中列出的单词(对于英语,包括 a、an、and、as 和其他一些单词), 它们在查询中将被忽略。
在例外列表中的单词在短语中将作为占位符对待,用来进行相似查询。例如,如果查询“Word for Windows”,结果将给出“Word for Windows”和“Word and Windows” ,因为 for 是一个在例外列表中出现的虚词。
标点符号在搜索时将被忽略,如句号 (.)、冒号 (:)、分号 (;) 和逗号 (,)。
要在查询中使用特殊对待的字符,如 &、|、^、#、@、$、(、),请用引号 (“) 将查询括起来。
要搜索包含引号的单词或短语,请先用引号把整个短语括起来,并用两遍引号括住想用引号括起来的单词。例如,“World-Wide Web or ““Web””” 将搜索 World-Wide Web or “Web”。
可以插入逻辑运算符(AND、 OR 和 NOT)以及相近运算符 (NEAR) 来指定附加的搜索信息。
通配字符 (*) 可以用所给前缀匹配单词。查询 esc* 可以匹配词条 “ESC”、“escape” 等等。
自由文本查询可以不按查询语法指定查询。
可以指定矢量空间查询。
可以执行 ActiveX"! (OLE) 和文件属性的属性值查询。
逻辑和相近运算符
逻辑和相近运算符可以创建更精确的查询。
搜索目标
示例
结果
同一页中同时包含两个词条
access and basic
—或—
access & basic
包含单词“access”和“basic”的页。
同一页中包含两个词条之一
cgi or isapi
—或—
cgi | isapi
包含单词“cgi”或“isapi”的页。
包含第一个词条,但不包含第二个词条
access and not basic
—或—
access & ! basic
包含单词“access”,但不包含单词“basic”的页。
不匹配某个属性值的页
not @size = 100
—或—
! @size = 100
大小不是 100 字节的页。
同一页中同时包含两个词条,且互相靠近
excel near project
—或—
excel ~ project
包含互相靠近的单词“excel”和“project”的页。
提示:
可以在查询表达式中加入括弧,表达式中带括弧的部分比查询的其他部分先执行。
使用双引号 (“) 可以指明逻辑或 NEAR 运算符关键字在查询中需要忽略。例如,“Abbott and Costello”将匹配包含该短语的页,而不是匹配符合该逻辑表达式的页。作为运算符,单词 and 在英语中是一个虚词。
NEAR 运算符与 AND 运算符相似, NEAR 也返回一页中两个单词都包含的页。但是,NEAR 和 AND 运算符不同之处在于,NEAR 要看单词是否靠近。也就是说,包含搜索单词较近的页的等级将大于或等于单词相隔较远的页的等级。如果搜索的单词相隔大于 50 个单词,该页将定为等级零
在内容查询中,NOT 运算符只能用在 AND 运算符之后,它仅用来排除匹配前面内容约束的页。对于属性值查询,NOT 运算符可以不与 AND 运算符一起使用。
AND 运算符的优先级高于 OR。例如,下面的前三个查询相等,但第四个不同:
a AND b OR c
c OR a AND b
c OR (a AND b)
(c OR a) AND b
注意 在所有语言中,符号(&、|、!、 ~)与英语关键字 AND、OR、NOT 和 NEAR 的作用相同(Index Server 支持)。如果浏览器被设置为下列六种语言,本地化的关键字也可以使用。
语言
关键字
德语
UND、ODER、NICHT、NAH
法语
ET、OU、SANS、 PRES
西班牙语
Y、O、NO、CERCA
荷兰语
EN、OF、NIET、 NABIJ
瑞典语
OCH、ELLER、INTE、N腞A
意大利语
E、O、NO、VICINO
注意 NEAR 运算符只能用于单词或短语。
通配符
通配符可以帮助您查找包含与所给单词相似的单词的页。
搜索目标
示例
结果
具有相同前缀的单词
comput*
包含前缀为“comput”的单词的页,例如“computer”、“computing”等等。
基于同一个本词的单词
fly**
包含基于相同本词“fly”的单词的页,例如“flying”、“flown”、“flew”等等。
自由文本查询
在自由文本查询中,查询引擎查找与单词或短语最佳匹配的页。这种查询匹配意思,而不是精确的单词。在自由文本查询中,逻辑、相近和通配运算符都将被忽略。自由文本查询以 $contents 为前缀。
搜索目标
示例
结果
匹配自由文本的文件
$contents how do I print in Microsoft Excel?
提到 printing 和 Microsoft Excel 的页。
矢量空间查询
查询引擎支持矢量空间查询。矢量查询返回匹配单词和短语列表的页,每页的排列指明了页面与查询匹配的程度。
搜索目标
示例
结果
包含指定单词的页
light, bulb
包含与搜索单词最匹配的单词的文件
包含加权的前缀、单词和短语的页
invent*, light[50], bulb[10], "light bulb"[400]
包含以“invent,”为前缀的单词、单词“light”、 “bulb”和短语“light bulb”的文件(词条被加权)
在矢量查询中的组件以逗号隔开。
矢量查询中的组件可以用 [weight] 语法加权。
矢量查询返回的页不必匹配查询的所有词条。
当结果按等级排序时,矢量查询最好。
属性值查询
用属性值查询,可以查找含有与所给标准相匹配的属性值的文件。可以用来查询的属性包括文件的基本信息(如文件名、文件大小)和 ActiveX 属性(包含在文档摘要中),ActiveX 属性由 ActiveX 应用程序创建并存储在文件中。
下面是两种类型的属性查询:
关系属性查询包括“at”字符 (@)、属性名、关系运算符和属性值。例如,要查找大小超过一兆字节的文件,可以执行查询 @size > 1000000。
正则表达式查询包括号码符号 (#)、属性名和属性值的正则表达式。例如,要查找所有视频 (.avi) 文件,可以执行查询 #filename *.avi。正则表达式不会匹配特定的属性内容 (#contents) 和全部 (#all)。 在查询中不能检索的属性不能用于 # 查询,包括未存储在属性缓存中的 HTML META 属性。
猜你喜欢
- ASP * 页制作中连接Oracle数据库的例子,下面这段代码能够显示,当前用户所能够看到的所有的用户和表,有兴趣的, 可以把每个表的内容上
- 在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Coll
- 在VS2005装完后,会自带SQL Server2005 express版,为了便于管理,还需要安装一个企业管理器,需要下载 Microso
- 1.如何将Query String传送到另一个ASP文件去?Response.Redirect("second.asp? 
- 只需要在fckeditor\editor\filemanager\connectors\asp文件夹下的commands.asp修改一下即可
- 应原书编辑要求,先在文章顶部给出链接:《Everything You Know About CSS Is Wrong》http://www.
- IE测试通过,FF有点小BUGCls_Leibie.asp代码如下:<% '数据库字段为类属性,添加、删除、修改、操
- 段正淳的css笔记(1)分类之间的横竖线:试想过总结出这几年来写css与xhtml的经验 ,汇总成一片”旷世奇文”分享给大家。无奈寡人年世已
- 删除单条记录 代码如下:id = saferequest("id") sql="
- 介绍:SQL Server 2008变更数据捕获SQL Server 2008的CDC函数读取激活了CDC的每个表所关联的事务日志来记录系统
- GetObject 函数返回对文件中 Automation 对象的引用。GetObject([pathname] [, class])参数P
- 我认为多选列表具有完美的功能——只需按下Ctrl键,同时点击鼠标从列表中选择多个项目。以下是一个典型的多选列表框:选出你最喜爱的快餐:&nb
- 这问题在网络相信已经有不少人问到,最近再次被牵起讨论,籍此记录一下个人的理解,border:none;与border:0;的区别体现有两点:
- 今天我和中国著名画家"渔人"谈了一个关于"怎样才能设计好"的问题,他给我说了一句话,得益不浅,那句话
- <%on error resume nextdim conn,sql,rsset conn=Server.CreateObject(&
- 在mysql安装目录的bin下, 运行mysql --install MYSQL5查看服务中, 会多一个MYSQL5的服务XAMPP的控制面
- 在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL
- 随着对Dreamweaver cs3中集成Spry功能的深入学习,了解并掌握到Spry框架的一些功能模块,其中就有通过Dreamweaver
- froglt 的站点:http://www.go2here.net 欢迎转载,请注明出处,未经作者允许,禁止一切商业应用。这是即
- 最近我因为要安装 Firebug 1.4 导致我不得不安装了 Firefox 3.5 ,所以很不小心地接触到了Wordpress后台那漂亮的