用asp编写文档搜索页面(4)
来源:CSDN 时间:2008-01-13 07:04:00
查询示例
示例
结果
@size > 1000000
大于一兆字节的页
@write > 95/12/23
该日期后修改过的页
Apple tree
包含短语“apple tree”的页
"apple tree"
同上
@contents apple tree
同上
Microsoft and @size > 1000000
包含单词“Microsoft”,并且大于大于一兆字节的页
"microsoft and @size > 1000000"
包含指定短语的页(与上面不同)
#filename *.avi
视频文件(因为查询包含正则表达式,所以使用 # 前缀)
@attrib ^s 32
带存档属性的页
@docauthor = John Smith
由所给作者创作的页
$contents why is the sky blue?
匹配查询的页
@size < 100 & #filename *.gif
大于 100 字节的 GIF 文件
属性名列表
这些属性在查询时都可用,附加的属性要看 Web 服务器的配置。
友好名称
数据类型
属性
A_HRef
DBTYPE_WSTR | DBTYPE_BYREF
HTML HREF 的文字,该属性名由 Microsoft?Site Server 创建,与 Index Server 属性名 HtmlHRef 相对。可以查询,但不能检索。
Access
VT_FILETIME
文件的最后访问时间。
All
(不适用)
搜索字符串的每一个属性。可以查询,但不能检索。
AllocSize
DBTYPE_I8
为文件分配的磁盘大小。
Attrib
DBTYPE_UI4
文件属性,在 Win32 SDK 文档中说明。
ClassId
DBTYPE_GUID
对象的类标识,例如 WordPerfect、Word 等等。
Characterization
DBTYPE_WSTR | DBTYPE_BYREF
文档的描述或摘要,由 Index Server 使用。
Contents
(不适用)
文件的主要内容。可以查询,但不能检索。
Create
VT_FILETIME
文件的创建时间。
Directory
DBTYPE_WSTR | DBTYPE_BYREF
文件的物理路径,不包含文件名。
DocAppName
DBTYPE_WSTR | DBTYPE_BYREF
创建文件的应用程序的名称。
DocAuthor
DBTYPE_WSTR | DBTYPE_BYREF
文档的作者。
DocByteCount
DBTYPE_14
文档的字节数。
DocCategory
DBTYPE_STR | DBTYPE_BYREF
文档的类别,如备忘录、计划或便笺。
DocCharCount
DBTYPE_I4
文档的字符数。
DocComments
DBTYPE_WSTR | DBTYPE_BYREF
关于文档的注释。
DocCompany
DBTYPE_STR | DBTYPE_BYREF
文档写作的公司名称。
DocCreatedTm
VT_FILETIME
文档创建的时间。
DocEditTime
VT_FILETIME
编辑文档所用的全部时间。
DocHiddenCount
DBTYPE_14
Microsoft?PowerPoint 文档中的隐藏幻灯片数。
DocKeywords
DBTYPE_WSTR | DBTYPE_BYREF
文档关键字。
DocLastAuthor
DBTYPE_WSTR | DBTYPE_BYREF
最近编辑文档的用户。
DocLastPrinted
VT_FILETIME
文档的最近一次打印时间。
DocLastSavedTm
VT_FILETIME
文档的最近一次保存时间。
DocLineCount
DBTYPE_14
文档包含的行数。
DocManager
DBTYPE_STR | DBTYPE_BYREF
文档作者的经理的名称。
DocNoteCount
DBTYPE_14
PowerPoint 文档中带注释的页数。
DocPageCount
DBTYPE_I4
文档的页数。
DocParaCount
DBTYPE_14
文档的图形数量。
DocPartTitles
DBTYPE_STR | DBTYPE_VECTOR
文档部分的名称。例如,在 Excel 中,部分标题是电子工作表的名称;在 PowerPoint 中是幻灯片的标题;在 Word for Windows 中是主文档中各个分文档的名称。
DocPresentationTarget
DBTYPE_STR|DBTYPE_BYREF
PowerPoint 演示文稿的目标格式(35mm、打印机、视频等等)。
DocRevNumber
DBTYPE_WSTR | DBTYPE_BYREF
文档的当前版本。
ā??僐??????儸???绘?? DocSlideCount
DBTYPE_14
PowerPoint 文档的幻灯片数。
DocSubject
DBTYPE_WSTR | DBTYPE_BYREF
文档的主题。
DocTemplate
DBTYPE_WSTR | DBTYPE_BYREF
文档的模板。
DocTitle
DBTYPE_WSTR | DBTYPE_BYREF
文档的标题
DocWordCount
DBTYPE_I4
文档的字数。
FileIndex
DBTYPE_I8
文件的唯一标识。
FileName
DBTYPE_WSTR | DBTYPE_BYREF
文件名。
HitCount
DBTYPE_I4
文件中的命中次数(单词匹配查询)。
HtmlHRef
DBTYPE_WSTR | DBTYPE_BYREF
HTML HREF 的文字。可以查询,但不能检索。
HtmlHeading1
DBTYPE_WSTR | DBTYPE_BYREF
HTML 文档中样式为 H1 的文字。可以查询,但不能检索。
HtmlHeading2
DBTYPE_WSTR | DBTYPE_BYREF
HTML 文档中样式为 H2 的文字。可以查询,但不能检索。
HtmlHeading3
DBTYPE_WSTR | DBTYPE_BYREF
HTML 文档中样式为 H3 的文字。可以查询,但不能检索。
HtmlHeading4
DBTYPE_WSTR | DBTYPE_BYREF
HTML 文档中样式为 H4 的文字。可以查询,但不能检索。
HtmlHeading5
DBTYPE_WSTR | DBTYPE_BYREF
HTML 文档中样式为 H5 的文字。可以查询,ā??僐?????儸?疀??但不能检索。
HtmlHeading6
DBTYPE_WSTR | DBTYPE_BYREF
HTML 文档中样式为 H6 的文字。可以查询,但不能检索。
Img_Alt
DBTYPE_WSTR | DBTYPE_BYREF
标记的候补文字。可以查询,但不能检索。
Path
DBTYPE_WSTR | DBTYPE_BYREF
文件的物理路径,包含文件名。
Rank
DBTYPE_I4
行的等级,范围从 0 到 1000,数字越大表示越匹配。
RankVector
DBTYPE_I4 | DBTYPE_VECTOR
矢量查询的独立组件的等级。
ShortFileName
DBTYPE_WSTR | DBTYPE_BYREF
短 (8.3) 文件名。
Size
DBTYPE_I8
文件大小,单位是字节。
USN
DBTYPE_I8
更新序列号,仅用于 NTFS 驱动器。
VPath
DBTYPE_WSTR | DBTYPE_BYREF
指向文件的完整虚拟路径,包括文件名。如果有多个可能的路径,将选择最符合查询的一个。
WorkId
DBTYPE_I4
文件的 Internal ID,Index Server 使用。
Write
VT_FILETIME
最近一次写文件的时间。
定义新属性名
要定义不在前面列表中的属性,必须把它们列在 .idq 文件的 [Names] 节中。要在限制、排序方法或作为检索的列中使用这些在 .idq 文件中定义的属性,请使用下面格式:
[Names]
#不在标准列表中的属性
Propertyname ( Datatype ) = GUID ["Name" | propid]
语法中,"Name" 是属性名(下面的例子是 "Sales"),propid 是十六进制的属性 ID 。注意,要用引号把友好名称括起来,但属性 ID 不要用引号。
例如,假设想定义 HTML meta 标记作为属性名,以便某人可以搜索,要定义的属性是 Sales。
定义 Sales 属性
在 .idq 文件中的 [Names] 节下,添加下面的行:
MetaDescription(DBTYPE_WSTR) = d1b5d3f0-c0b3-11cf-9a92-00a0c908dbf1 "Sales"
GUID 号来自注册表的 MetaTagClsid 参数,该参数在下面位置:
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Control
\HtmlFilter
\MetaTagClsid
然后,在 HTML 文件中想要出现标记的地方,定义 meta 说明。
例如,假设以后想搜索所有包含销售计划的文件:
在 File1.htm 中:
在 File2.htm 中:
在 File3.htm 中:
注意 请确保将 META NAME 标记添加到文件开始的 和 HTML 标记之间。
现在就可以搜索所有关于销售计划的文件,请发送下面查询:
@metadescription projections
该查询返回所有在 META 标记的 CONTENT 字段中包含单词 projections 的文件。在该例子中,将返回 File1.htm 和 File2.htm。
但是,假如要按年搜索销售情况,例如 1997 年的销售列表,请发送下面查询:
@metadescription 1997
将返回 File3.htm。