网络编程
位置:首页>> 网络编程>> Asp编程>> 用asp编写文档搜索页面(4)

用asp编写文档搜索页面(4)

 来源:CSDN 发布时间:2008-01-13 07:04:00 

标签:搜索,查询,正则表达式,asp

查询示例

示例

结果

@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。


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com