本章说明 Sun JavaTM System Portal Server 搜索服务器 robot 及其相应的配置文件。本章包含以下主题:
搜索服务器 robot 是一个识别和报告其域中资源的代理。它使用以下两种过滤器来完成这项工作:枚举过滤器和生成过滤器。
枚举过滤器使用网络协议来定位资源。该过滤器会对每个资源进行测试,如果资源符合适当的条件,则枚举资源。例如,枚举过滤器可以从 HTML 文件中提取超文本链接,然后使用这些链接来查找附加的资源。
生成过滤器会对每个资源进行测试,确定是否应为其创建资源描述 (Resource Description, RD)。如果资源通过了测试,生成器便会为其创建 RD,该 RD 存储在搜索服务器数据库中。
图 19–1 展示 robot 如何检查 URL 及其相关的网络资源。枚举器和生成器对每个资源进行测试。如果资源通过了枚举器测试,则 robot 检查它以获取附加 URL。如果资源通过了生成器测试,robot 会为其生成资源描述,该资源描述存储在搜索服务器数据库中。
Robot 配置文件定义 robot 的行为。这些文件位于 /var/opt/SUNWportal/searchservers/searchserverid/config 目录。以下列表提供了每个 robot 配置文件的说明。
包含用于对 robot 生成的 RD 进行分类的规则。
定义 robot 使用的枚举和生成过滤器。
包含 robot 的站点定义、起点 URL、基于 mime 类型的过滤规则以及 URL 模式。
定义 robot 的大部分操作属性。
由于可以使用“搜索服务器管理”界面来设置大部分属性,因此通常不需要对 robot.conf 文件进行编辑。不过,高级用户可能需要手动编辑此文件,以设置那些无法通过界面来设置的属性。
Robot 查找资源并决定是否将这些资源的描述添加到数据库中。决定要访问哪些服务器以及要为这些服务器的哪些部分创建索引的过程称为站点定义。
为 robot 定义站点是服务器管理员最重要的工作之一。您需要确保将 robot 发送到所有其需要索引的服务器,但您也需要排除无关的站点,因为这些站点会填充数据库并使查找正确信息变得更加困难。
robot 提取并跟随指向各选定站点的链接以创建索引。作为系统管理员,您可以通过若干设置控制这些过程,包括:
启动、停止和制定 robot 进度表
定义 robot 访问的站点
确定其搜寻积极程度的搜寻属性
通过定义过滤器,控制 robot 创建索引的资源类型
通过定义索引属性,控制 robot 在数据库中创建的条目种类
有关 robot 搜寻属性的说明,参见《Sun Java System Portal Server 7.2 Technical Reference》。
过滤器能够识别资源,因此可以通过将资源的属性与过滤器定义进行比较来排除或包括该资源。robot 提供若干预定义的过滤器,其中一些默认为启用。以下过滤器是预定义的。标有星号的过滤器默认为启用。
归档文件*
音频文件*
备份文件*
二进制文件*
CGI 文件*
图像文件*
Java、JavaScript、样式表文件*
日志文件*
Lotus Domino 文档
Lotus Domino OpenViews
插件文件
Power Point 文件
修订控制文件*
源代码文件*
电子数据表文件
系统目录 (UNIX)
系统目录 (NT)
临时文件*
视频文件*
您可以创建新的过滤器定义、修改过滤器定义或者启用或禁用过滤器。有关详细信息,参见资源过滤流程。
Robot 包含两个调试工具或实用程序:
为了保持搜索数据的及时性,robot 应定期搜索站点并创建站点索引。因为 robot 搜寻和创建索引可能消耗处理资源和网络带宽,应将 robot 安排在非使用高峰期运行。管理控制台允许管理员设置运行 robot 的进度表。
本节说明管理 robot 的以下任务:
《Sun Java System Portal Server 7.2 Command-Line Reference》中的“psadmin start-robot”
对于命令 psadmin start-robot,如果没有可供 robot 搜寻的已定义站点,则搜索 robot 不会启动。命令 psadmin start-robot 通过显示“启动点:已定义 0”来表示没有可用的站点。
Robot 查找资源并决定是否将这些资源的描述添加到数据库中。决定要访问哪些服务器以及要为这些服务器的哪些部分创建索引的过程称为站点定义。
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏选择“Robot”,然后选择“站点”。
在“管理站点”下单击“新建”,然后指定该站点的配置属性。
有关这些属性的详细信息,参见《Sun Java System Portal Server 7.2 Technical Reference》中的“Sites”。
单击“确定”。
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏单击“Robot”,然后单击“站点”。
单击您想要修改的站点的名称。
出现“编辑站点”对话框。
根据需要修改配置属性。
有关这些属性的详细信息,参见《Sun Java System Portal Server 7.2 Technical Reference》中的“Sites”。
单击“确定”记录更改。
Robot 将会搜寻各个选定的站点以创建索引。可通过定义搜寻和创建索引的操作属性来控制 robot 搜寻站点的方式。
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏单击“Robot”,然后单击“属性”。
根据需要指定 robot 搜寻和创建索引属性。
有关这些属性的详细信息,参见《Sun Java System Portal Server 7.2 Technical Reference》中的“Properties”。
单击“保存”。
模拟器将部分模拟对所列出的一个或多个站点执行的 robot 过滤。
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏单击“Robot”,然后单击“实用程序”。
在“添加新的 url”文本框中键入要模拟的新站点的 URL,然后单击“添加”。
您还可以在“现有 Robot 站点”下列出的现有站点上运行模拟器。
单击“运行模拟器”。
站点探测器实用程序将检查 DNS 别名、服务器重定向以及虚拟服务器之类的信息。
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏单击“Robot”,然后单击“实用程序”。
键入要探测的站点的 URL。
(可选的)如果您想要探测器返回 DNS 信息,请在“站点探测器”下选择“显示高级 DNS 信息”。
单击“运行站点探测器”。
robot 使用过滤器来确定处理哪些资源以及如何处理它们。当 robot 搜索资源的引用以及资源本身时,它对每个资源都应用过滤器。过滤器枚举资源并确定是否生成资源描述,以存储在搜索服务器数据库中。
robot 检查一个或多个起点 URL,应用过滤器,然后将过滤器应用到通过枚举这些 URL 产生的 URL 等。起点 URL 在 filterrules.conf 文件中定义。
每个枚举和生成过滤器均执行所有必需的初始化操作,并对当前资源应用比较测试。每项测试的目标都是允许或拒绝该资源。每个过滤器还有停止运行阶段,它在该阶段会执行清除操作。
如果一个资源获得允许,那么它会通过过滤器继续其历程。robot 最后会枚举该资源,尝试搜索更多的资源。生成器还可能会为其创建资源描述。
如果某资源被拒绝,则该资源便会被弃用。过滤器不会对被拒绝的资源执行进一步操作。
这些操作没有必然的连锁关系。一些资源导致枚举;另一些资源导致生成 RD。许多资源会导致枚举并生成 RD。例如,如果资源是一个 FTP 目录,则通常不会为该资源生成 RD。不过,robot 可能会枚举 FTP 目录中的文件。一个包含指向其他文档链接的 HTML 文档可导致生成一个 RD,并且还会导致所有链接文档的枚举。
以下各节说明了过滤流程:
枚举和生成过滤器的过滤流程都有五个阶段。
设置 – 执行初始化操作。在 robot 生命期中只发生一次。
元数据 – 根据资源可用的元数据过滤资源。在通过网络检索资源之前,每个资源都会执行一次元数据过滤。表 19–1 列出了常见元数据类型的示例。
元数据类型 |
描述 |
示例 |
---|---|---|
完整的 URL |
资源的位置 |
http://home.siroe.com/ |
协议 |
URL 的访问部分 |
http、ftp、file |
主机 |
URL 的地址部分 |
www.siroe.com |
IP 地址 |
主机的数字版本 |
198.95.249.6 |
路径 |
URL 的路径部分 |
/index.html |
深度 |
从起点 URL 开始的链接数 |
5 |
数据 – 根据其数据过滤资源。在通过网络检索数据之后,每个资源的数据都会过滤一次。可用于过滤的数据包括:
content-type
content-length
content-encoding
content-charset
last-modified
expires
枚举 – 枚举当前资源,以确定其是否指向要检查的其他资源。
生成 – 为资源生成资源描述 (RD) 并将其保存在搜索服务器数据库中。
停止运行 – 执行任何所需的终止操作。此过程在 robot 的生命期中发生一次。
filter.conf 文件包含枚举和生成过滤器的定义。该文件包含多个枚举和生成所共用的过滤器。robot 所使用的过滤器是由 robot.conf 文件中的 enumeration-filter 和 generation-filter 属性指定。
过滤器定义具有一个定义明确的结构:该结构由标题、正文和结尾组成。标题用于确定过滤器的开始处和声明过滤器的名称,例如:
<Filter name="myFilter"> |
正文由一系列过滤器指令组成,这些指令定义过滤器在设置、测试、枚举或生成以及停止运行期间的行为。每条指令都指定了一种功能,在适用情况下,还指定了功能的属性。
结尾使用 </Filter> 来标记。
示例 19–1 显示了一个名为 enumeration1 的过滤器。
<Filter name="enumeration1> Setup fn=filterrules-setup config=./config/filterrules.conf # Process the rules MetaData fn=filterrules-process # Filter by type and process rules again Data fn=assign-source dst=type src=content-type Data fn=filterrules-process # Perform the enumeration on HTML only Enumerate enable=true fn=enumerate-urls max=1024 type=text/html # Cleanup Shutdown fn=filterrules-shutdown </Filter> |
过滤器指令使用 robot 应用函数 (robot application function, RAF) 来执行操作。它们的使用方法和操作流程类似于 Sun Java System Web Server 的 obj.conf 文件中的 NSAPI 指令和服务器应用程序函数 (Server Application Function, SAF)。与 NSAPI 和 SAF 一样,数据的存储和传送使用属性块(亦称作 pblock)。
六条 robot 指令(或 RAF 类)对应于资源过滤流程中列出的过滤阶段和操作:
设置
元数据
数据
枚举
生成
停止运行
每条指令有其自身的 robot 应用函数。例如,配合“元数据”和“数据”指令使用的过滤函数、配合“枚举”指令使用的枚举函数、配合“生成”指令使用的生成函数等。
内置 robot 应用函数以及编写自定义 robot 应用函数的说明在《Sun Java System Portal Server 7.1 Developer's Guide》中有介绍。
大多数情况下,您可以使用管理控制台来创建大多数基于站点定义的过滤器。然后可根据需要进一步修改 filter.conf 和 filterrules.conf 文件。这些文件位于 /var/opt/SUNWportal/searchservers/searchserverid/config 目录。
要创建一组更复杂的属性,可编辑 robot 使用的配置文件。
当您编写或修改过滤器时,请注意以下顺序
指令的执行顺序(尤其是每一阶段的可用信息)。
filterrules.conf 中的过滤器规则。
您还可以执行以下操作:
修改 robot.conf 文件中的属性。
修改 filter.conf 文件中的 robot 应用函数。
创建您自己的 robot 应用函数。
有关详细信息,参见《Sun Java System Portal Server 7.1 Developer's Guide》
本节说明以下管理 robot 过滤器的任务:
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏选择“Robot”,然后选择“过滤器”。
单击“新建”。
出现“新建 Robot 过滤器向导”。
按照说明创建指定的过滤器。
在文本框中键入过滤器名称和过滤器描述,然后单击“下一步”。
指定过滤器定义和行为,然后单击“完成”。
有关过滤器属性的详细信息,参见《Sun Java System Portal Server 7.2 Technical Reference》 中的 Filters。
单击“关闭”以加载新的过滤器。
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏选择“Robot”,然后选择“过滤器”。
选择一个过滤器,然后单击“编辑”。
将显示“编辑过滤器”页面。
根据需要修改配置属性。
有关过滤器属性的详细信息,参见《Sun Java System Portal Server 7.2 Technical Reference》 中的 Filters。
单击“确定”。
可以将文档分配给多个类别,最多可达到设置中定义的最大值。分类规则比 robot 过滤器规则简单,因为它们不涉及任何流程控制决策。在这些分类规则中,您必须决定使用什么样的标准将特定的类别分配给资源,作为其“资源描述”的一部分。分类规则是一个简单的条件语句,采用 if condition is true, assign the resource to <a category> 的格式。
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏选择“Robot”,然后选择“分类规则”。
选择“分类规则”然后单击“新建”。
将显示“新建分类规则”对话框。
根据需要指定配置属性。
有关这些属性的详细信息,参见《Sun Java System Portal Server 7.2 Technical Reference》中的 Manage Classification Rules。
单击“确定”。
从菜单栏中选择“搜索服务器”,然后从中选择一个搜索服务器。
从菜单栏中选择“Robot”,然后选择“分类规则”。
选择一个分类规则,然后单击“编辑”。
根据需要修改属性。
有关这些属性的详细信息,参见《Sun Java System Portal Server 7.2 Technical Reference》中的 Manage Classification Rules 。
单击“确定”。
大多数 robot 应用函数 (Robot Application Function, RAF) 需要信息源,并会生成传至目标的数据。源在 robot 内进行定义,并且不必与 robot 最终生成的资源描述中的字段相关。另一方面,目标通常是指资源描述中的字段名(如资源描述服务器的模式所定义)。
以下各节介绍了过滤流程的不同阶段,以及这些阶段的可用源:
在“安装”阶段,过滤器在进行安装但无法获得关于资源的 URL 或内容的信息。
在“元数据”阶段,robot 会遇到资源的 URL,但它还没有下载资源的内容。这样,关于 URL 以及源自其他源(例如 filter.conf 文件)的数据的信息均可用。不过,在此阶段,关于资源内容的信息不可用。
表 19–2 元数据阶段 RAF 的可用源
资源 |
描述 |
示例 |
---|---|---|
csid |
目录服务器 ID |
x-catalog//budgie.siroe.com:8086/alexandria |
depth |
从起始点开始遍历的链接数 |
10 |
enumeration filter |
枚举过滤器的名称 |
enumeration1 |
generation filter |
生成过滤器的名称 |
generation1 |
host |
URL 的主机部分 |
home.siroe.com |
IP |
主机的数字形式 |
198.95.249.6 |
协议 |
URL 的访问部分 |
http, https, ftp, file |
path |
URL 的路径部分 |
/, /index.html, /documents/listing.html |
URL |
完整的 URL |
http://developer.siroe.com/docs/manuals/ |
在“数据”阶段,robot 已经下载 URL 处资源的内容,并且可以访问关于该内容的数据,例如描述和作者。
如果资源为 HTML 文件,Robot 会分析 HTML 标头中的 <META> 标记。因此,在“数据”阶段可获得 <META> 标记内包含的任意数据。
在“数据”阶段,除了“元数据”阶段的可用源之外,以下源对 RAF 可用。
表 19–3 数据阶段 RAF 的可用源
资源 |
描述 |
示例 |
---|---|---|
content-charset |
资源所使用的字符集 | |
content-encoding |
任意的编码形式 | |
content-length |
资源的长度(字节) | |
content-type |
资源的 MIME 类型 |
text/html, image/jpeg |
expires |
资源到期的日期 | |
last-modified |
上次修改资源的日期 | |
<META> 标记中的数据 |
HTML 资源标头中的 <META> 标记内提供的任何数据 |
作者、描述、关键字 |
检索资源时,会返回所有源自 HTTP 响应报头的源(<META> 标记中的数据除外)。
在“枚举”阶段和“生成”阶段,可用数据源与“数据”阶段的可用数据源相同。有关详细信息,参见表 19–3。
在“停止运行”阶段,过滤器完成过滤过程并停止运行。虽然为此阶段编写的函数可使用与“数据”阶段相同的可用数据源,但是停止运行的函数通常会将其操作限制为停止运行 robot 和清除活动。
每个函数都可以有一个 enable 属性。值可以是 true、false、on 或 off。管理控制台使用这些参数启用或禁用某些指令。
以下示例为 text/html 启用枚举,对 text/plain 禁用枚举:
# 仅在 HTML 上执行枚举 Enumerate enable=true fn=enumerate-urls max=1024 type=text/html Enumerate enable=false fn=enumerate-urls-from-text max=1024 type=text/plain |
添加 enable=false 属性或 enable=off 属性与注释掉该行具有相同的效果。使用这些属性是由于管理控制台不编写注释。
本节介绍安装阶段由枚举过滤器和生成过滤器使用的函数。以下各节说明函数:
当您使用 filterrules-setup 函数时,使用 logtype 日志文件。值可以是 verbose、normal 或 terse。
包含此过滤器使用的过滤器规则的文件的路径名。
Setup fn=filterrules-setup
config="/var/opt/SUNWportal/searchservers/search1/config/filterrules.conf"
setup-regex-cache 函数初始化 filter-by-regex 和 generate-by-regex 函数的高速缓存大小。使用此函数可指定默认值 32 之外的其他数字。
regex 高速缓存中保存已编译的正则表达式的最大数目。
Setup fn=setup-regex-cache cache-size=28
setup-type-by-extension 函数配置过滤器,以识别文件扩展名。必须调用它之后才能使用 assign-type-by-extension 函数。指定为属性的文件必须包含标准 MIME 内容类型和文件扩展名字符串之间的映射。
MIME 类型配置文件的名称
Setup fn=setup-type-by-extension
file="/var/opt/SUNWportal/searchservers/search1/config/mime.types"
过滤函数在“元数据”和“数据”阶段运行,以根据函数及其属性指定的具体条件来允许或拒绝资源。在 filter.conf 文件的“枚举”和“生成”过滤器中均可使用这些函数。
每个 filter-by 函数执行一次比较,然后允许或拒绝资源。允许资源表示继续进行下一过滤步骤。拒绝资源则表示应停止处理过程,因为资源不符合进行进一步枚举或生成的条件。
如果 allow/deny 字符串与信息源完全匹配,则 filter-by-exact 函数将允许或拒绝资源。关键字 all 表示与任意字符串匹配。
信息源
包含字符串
以下示例将过滤出 content-type 为 text/plain 的所有资源。它允许其他所有资源继续进行以后的处理:
Data fn=filter-by-exact src=type deny=text/plain
如果指定信息源的值小于或等于给定值,则 filter-by-max 函数将允许该资源。如果信息源的值大于指定值,则会拒绝该资源。
每个过滤器只能调用一次此函数。
filter-by-max 函数列出与 filter-by-max 函数一起使用的属性。
信息源:主机、对象或深度
指定用于比较的值
本示例允许 content-length 小于 1024 KB 的资源:
MetaData fn-filter-by-max src=content-length value=1024
filter-by-md5 函数只允许第一个含有给定的 MD5 校验和值的资源。如果此 robot 在较早的资源中看到当前资源的 MD5,则拒绝当前资源。该功能可防止相同资源或有多个 URL 的单个资源发生重复。
只能在“数据”阶段或之后调用此函数。每个过滤器只能调用一次此函数。过滤器必须调用 generate-md5 函数来生成 MD5 校验和,然后才能调用 filter-by-md5。
无
以下示例显示处理 MD5 校验和的典型方法,即首先生成校验和,然后根据它进行过滤:
Data fn=generate-md5
Data fn=filter-by-md5
如果提供的信息源以指定的字符串前缀开始,则 filter-by-prefix 函数将允许或拒绝资源。资源无须完全匹配。关键字 all 表示与任意字符串匹配。
信息源
包含用于进行前缀比较的字符串
以下示例允许 content-type 为任何文本类型(包括 text/html 和 text/plain)的资源:
MetaData fn=filter-by-prefix src=type allow=text
filter-by-regex 函数支持正则表达式模式匹配。它允许与给定正则表达式匹配的资源。支持的正则表达式语法由 POSIX.1 规范定义。正则表达式 \\\\* 表示匹配任意项目。
信息源
包含正则表达式字符串
以下示例拒绝来自 .gov 域站点的所有资源:
MetaData fn=filter-by-regex src=host deny=\\\\*.gov
filterrules-process 函数处理 filterrules.conf 文件中的站点定义和过滤器规则。
无
MetaData fn=filterrules-process
过滤期间使用支持函数处理或生成有关资源的信息。然后 robot 可以通过调用过滤函数处理资源。可在 filter.conf 文件中的枚举和生成过滤器中使用这些函数。
assign-source 函数会将新值赋予给定的信息源。此函数允许在过滤处理期间进行编辑。此函数可指定一个显式新值,也可从另一信息源复制一个值。
需要更改值的源的名称
指定一个显式值
要复制到 dst 的信息源
您必须指定 value 属性或 src 属性,但不能同时指定两者。
Data fn=assign-source dst=type src=content-type
assign-type-by-extension 函数用资源的文件名确定其类型,并将此类型分配给资源以便进一步处理。
在安装过程中必须调用 setup-type-by-extension 函数,之后方可使用 assign-type-by-extension。
要比较的文件名的源。如果未指定源,则默认值为资源的路径
MetaData fn=assign-type-by-extension
clear-source 函数删除指定的数据源。通常不需要执行此函数。您可以使用 assign-source 函数来创建或替代源。
要删除的源的名称
以下示例删除路径源:
MetaData fn=clear-source src=path
如果当前资源的类型匹配指定的 MIME 类型,convert-to-html 函数会将当前资源转换为 HTML 文件以进一步处理。转换过滤器会自动检测要转换的文件的类型。
要转换的 MIME 类型
调用以下函数序列会导致过滤器将所有 Adobe Acrobat PDF 文件、Microsoft RTF 文件和 FrameMaker MIF 文件以及提供文件的服务器未指定其类型的任何文件转换为 HTML。
Data fn=convert-to-html type=application/pdf
Data fn=convert-to-html type=application/rtf
Data fn=convert-to-html type=application/x-mif
Data fn=convert-to-html type=unknown
copy-attribute 函数可将资源描述中的某个字段的值复制到另一个字段中。
资源描述中要复制的字段
资源描述中的项目,源将被复制到该项目中
要复制的源的最大长度
指示是否修复被截断的文本,以防文字不完整的布尔属性。默认情况下此属性为 false
Generate fn=copy-attribute \\
src=partial-text dst=description truncate=200 clean=true
仅当现有源与另一个值完全匹配时,generate-by-exact 函数才会利用指定的值生成源。
要生成的源的名称
要赋予 dst 的值
匹配的源
如果主机为 www.siroe.com,以下示例会将分类设置为 siroe。
Generate fn="generate-by-exact" match="www.siroe.com:80" src="host" value="Siroe" dst="classification"
如果现有源的前缀与另一个值匹配,则此 generate-by-prefix 函数会利用指定的值生成源。
要生成的源的名称
要赋予 dst 的值
匹配的源
要与 src 进行比较的值
以下示例当协议前缀为 HTTP 时将分类设为 Compass:
Generate fn="generate-by-prefix" match="http" src="protocol" value="World Wide Web" dst="classification"
如果现有源与某个正则表达式匹配,则 generate-by-regex 函数会利用指定的值生成源。
要生成的源的名称
要赋予 dst 的值
匹配的源
要与 src 进行比较的正则表达式字符串
如果主机名与正则表达式 *.siroe.com 匹配,以下示例会将分类设置为 siroe。例如,developer.siroe.com 和 home.siroe.com 的资源都被分类为 Siroe:
Generate fn="generate-by-regex" match="\\\\*.siroe.com" src="host" value="Siroe" dst="classification"
generate-md5 函数会生成 MD5 校验和并添加到资源中。然后,可使用 filter-by-md5 函数拒绝有相同 MD5 校验和的资源。
无
Data fn=generate-md5
generate-rd-expires 函数会生成到期日期并添加到指定的源。此函数使用元数据(例如 HTTP 标头和 HTML <META> 标记)从资源获取任意到期数据。如果不存在,函数将生成一个距当前日期三个月的到期日期。
源的名称。如果您忽略它,则源默认值为 rd-expires。
Generate fn=generate-rd-expires
generate-rd-last-modified 函数可将当前时间添加到指定的源。
源的名称。如果您忽略它,则源默认值为 rd-last-modified
Generate fn=generate-last-modified
rename-attribute 函数可更改资源描述中字段的名称。此函数在以下情况非常有用,例如,extract-html-meta 函数从一个 <META> 标记复制信息到一个字段而您想要更改该字段的名称。
包含从一个名称到另一个名称的映射的字符串
以下示例将属性从 author 重命名为 author-name:
Generate fn=rename-attribute src="author->author-name"
以下函数在“枚举”阶段运行。这些函数控制 robot 是否以及如何从指定资源收集链接以作为进一步的资源搜索的起点。
enumerate-urls 函数扫描资源,并枚举在超文本链接中找到的全部 URL。利用这些结果可产生更多的资源搜索结果。您可以指定 content-type 来限制枚举的 URL 的种类。
从指定资源产生的 URL 的最大数目。默认值为 1024。
Content-type,限制枚举那些有特定 Content-type 的 URL。type 是一个可选属性。如果忽略,则函数枚举所有 URL。
以下示例仅枚举 HTML URL,最多可达 1024 个:
Enumerate fn=enumerate-urls type=text/html
enumerate-urls-from-text 函数扫描文本资源,寻找匹配正则表达式 URL:.* 的字符串。该函数产生 robot 以枚举这些字符串中的 URL 并生成进一步的资源描述。
从指定资源产生的 URL 的最大数目。如果忽略 max,默认值为 1024
Enumerate fn=enumerate-urls-from-text
“生成”函数用于过滤的“生成”阶段。生成函数可以创建加入到资源描述中的信息。通常,它们会从资源本身的正文中提取信息,或者从资源的元数据中复制信息。
extract-full-text 函数可提取资源的全部文本,并将其添加到资源描述中。
应谨慎使用 extract-full-text 函数。它可以显著增加资源描述的大小,从而导致数据库膨胀,并对网络带宽带来整体的负面影响。
Generate fn=extract-full-text
要从资源中提取的最大字符数
接收全部文本的模式项目的名称
extract-html-meta 函数可从 HTML 文件提取任意 <META> 或 <TITLE> 信息,并将其添加到资源描述中。可指定 content-type 以限制生成的 URL 种类。
要提取的最大字节数
可选属性。如果忽略,则生成所有 URL
Generate fn=extract-html-meta truncate=255 type=text/html
extract-html-text 函数可从 HTML 文件提取文本开头的少量字符(不包括 HTML 标记),并将文本添加到资源描述中。此函数允许在 RD 中包含文档开头部分的文字。可指定 content-type 以限制生成的 URL 种类。
要提取的最大字节数
设置为 true 可忽略文档中的全部 HTML 标头
可选属性。如果忽略,则生成所有 URL
Generate fn=extract-html-text truncate=255 type=text/html skip-headings=true
extract-html-toc 函数可从 HTML 标头提取目录,并将其添加到资源描述中。
要提取的最大字节数
要提取的最大 HTML 标头级别。此属性可控制目录的深度
Generate fn=extract-html-toc truncate=255 level=3
extract-source 函数可从给定源中提取指定值,并将它们添加到资源描述中。
列出源名称。您可以使用 -> 运算符定义 RD 属性的新名称。例如,type->content-type 会采用名为 type 的源的值,将其保存在 RD 中名为 content-type 的属性下。
Generate fn=extract-source src="md5,depth,rd-expires,rd-last-modified"
harvest-summarizer 函数可在资源上运行 Harvest 摘要器,并将结果添加到资源描述中。
要运行 Harvest 摘要器,在运行 robot 之前,path 中必须有 $HARVEST_HOME/lib/gatherer 。
摘要器程序的名称
Generate fn-harvest-summarizer summarizer=HTML.sum
枚举函数和生成函数均可在停止运行阶段使用 filterrules-shutdown 函数。
规则运行后,filterrules-shutdown 函数可执行清除和停止运行功能。
无
Shutdown fn=filterrules-shutdown
robot.conf 文件为 robot 定义了许多选项,其中包括将 robot 指向 filter.conf 中的适当过滤器的选项。为向后兼容较早的版本,robot.conf 也可以包含起点 URL。
由于可以使用管理控制台来设置大部分属性,因此通常不需要对 robot.conf 文件进行编辑。不过,高级用户可能需要手动编辑此文件,以设置那些无法通过管理控制台来设置的属性。参见robot.conf 文件范例以获得此文件的示例。
表 19–4 列出了 robot.conf 文件中您可以更改的属性。
表 19–4 用户可修改的属性
本节说明 robot.conf 文件的一个范例。范例中所有加入注释的属性都使用所显示的默认值。第一个属性 csid 表示使用此文件的搜索服务器实例。切勿更改此属性的值。有关此文件中属性的定义,参见可修改的属性。
此范例文件中包括一些搜索服务器使用的属性,您不应修改它们。例如 csid 属性。
<Process csid="x-catalog://budgie.siroe.com:80/jack" \\ auto-proxy="http://sesta.varrius.com:80/" auto_serv="http://sesta.varrius.com:80/" command-port=21445 convert-timeout=600 depth="-1" # email="user@domain" enable-ip=true enumeration-filter="enumeration-default" generation-filter="generation-default" index-after-ngenerated=30 loglevel=2 max-concurrent=8 site-max-concurrent=2 onCompletion=idle password=boots proxy-loc=server proxy-type=auto robot-state-dir="/var/opt/SUNWportal/searchservers/search1/robot" \\ ps/robot" server-delay=1 smart-host-heuristics=true tmpdir="/var/opt/SUNWportal/searchservers/search1/tmp" user-agent="iPlanetRobot/4.0" username=jack </Process> |