GoGPT Best VPN GoSearch

OnWorks 网站图标

SWISH-CONFIG - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 SWISH-CONFIG

这是 SWISH-CONFIG 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


SWISH-CONFIG - 配置文件指令

产品详情


本文档列出了 Swish-e 中可用的可用配置指令。

配置 文件


Swish-e 索引哪些文件以及它们是如何索引的,以及索引写入的位置
由配置文件控制。

配置文件是一个文本文件,由注释、空行和 配置
指令. 指令的顺序并不重要。 一些指令可能会被使用
在配置文件中不止一次,而其他的只能使用一次(例如
附加指令将覆盖前面的指令)。 指令的情况不是
重要——您可以使用大写、小写或混合大小写。

注释是任何以“#”开头的行。

#这是一条评论

从 2.4.3 开始,可以通过将反斜杠作为最后一个字符来继续行
线:

忽略词 \
是 \
这 \
FOO

指令可以采用多个参数。 包含单个参数,包括
引号中的空格(单引号或双引号)。 在引号内反斜杠转义下一个
字符。

ReplaceRules append "foo bar" <- 将 "foo bar" 定义为单个参数

如果您需要在值中包含引号字符,请使用反斜杠将其转义,
或将其括在其他类型的引号中。

反斜杠在正则表达式中也有特殊含义。

FileFilterMatch pdftotext "'%p' -" /\.pdf$/

这表示该点是一个真正的点(而不是匹配任何字符)。 如果你放置
引号中的正则表达式则必须使用双反斜杠。

FileFilterMatch pdftotext "'%p' -" "/\\.pdf$/"

Swish-e 将在传递之前将双反斜杠转换为单反斜杠
正则表达式编译器的参数。

注释的示例配置文件包含在 CONF Swish-e 目录
分布。

一些命令行参数可以覆盖配置文件中指定的指令。
有关运行 Swish-e 的说明,另请参阅 SWISH-RUN 和 SWISH-SEARCH
有关如何搜索索引的信息和示例的页面。

配置文件通过“-c”开关指定给 Swish-e。 例如,

swish -e -c myconfig.conf

您还可以将指令拆分为不同的配置文件。 这让你
有一个用于许多不同索引的主配置文件,并且更小
每个单独索引的配置文件。 您可以指定不同的配置
使用“-c”开关从命令行运行时的文件(请参阅 SWISH-RUN),或者您可以
包含其他配置文件 包含配置文件 下面的指令。

通常,在配置文件中,指令以某种逻辑组合在一起
order——也就是说,控制文档来源的指令将被分组
首先一起,以及控制如何过滤每个文档或其单词的指令
另一组指令中的索引。 (下面列出的指令在此分组
命令)。

下面列出了这些组中的配置文件指令:

·“管理标题指令”——您可以将管理信息添加到
索引文件的头部。

·“文档源指令”——用于选择源文档和文档的指令
索引文件的位置。

·“文档内容指令”——控制文档内容的指令
索引。

·“仅限文件访问方法的指令”——这些指令仅适用
到文件访问索引方法。

· "Directives for the HTTP Access Method Only" -- 同样,这些仅适用于 HTTP
访问方法。

·“仅适用于程序访问方法的指令”--这些仅适用于程序访问
方法。

·“文档过滤器指令”——这是一个特殊的部分,描述了使用
使用 Swish-e 的文档过滤器。

按字母顺序 上市 of 指令

· AbsoluteLinks [yes 取 NO]

· BeginCharacters *字符串*

· BumpPositionCounterCharacters *字符串*

·流行语[*流行语列表*获取文件:路径]

· CompressPositions [yes 取 NO]

· ConvertHTMLEntities [YES 否]

· DefaultContents [TXT 获取HTML 开启XML TXT2 开启HTML2 开启XML2 开启TXT*HTML*开启XML*]

· 延迟*秒*

· DontBumpPositionOnEndTags *名称列表*

· DontBumpPositionOnStartTags *名称列表*

· EnableAltSearchSyntax [yes 获取 NO]

· EndCharacters *字符串*

· EquivalentServer *服务器别名*

· ExtractPath *metaname* [replace 获取remove prepend 获取append regex]

· FileFilter *后缀* *程序* [选项]

· FileFilterMatch *程序* *选项* *正则表达式* [*正则表达式* ...]

· FileInfoCompression [yes 开启 NO]

· FileMatch [包含获取is regex] *正则表达式*

· FileRules [包含获取is regex] *正则表达式*

· FuzzyIndexingMode [NONE 控制Stemming 获取Soundex 获取Metaphone 开启DoubleMetaphone]

· FollowSymLinks [yes 取 NO]

· HTMLLinksMetaName *元名*

· IgnoreFirstChar *字符串*

· IgnoreLastChar *字符串*

· IgnoreLimit *整数整数*

· IgnoreMetaTags *名称列表*

· IgnoreNumberChars *字符列表*

· IgnoreTotalWordCountWhenRanking [YES 不]

· IgnoreWords [*停用词列表*获取文件:路径]

· ImageLinksMetaName *元名*

· 包含配置文件

· IndexAdmin *文本*

· IndexAltTagMetaName *tagname*获取as-text

· IndexComments [是的,不是]

· IndexContents [TXT 获取HTML 开启XML TXT2 开启HTML2 开启XML2 TXT*开启HTML*开启XML*] *文件扩展名*

· 索引描述*文本*

· IndexDir [获取URL目录或文件]

· 索引文件 *路径*

· 索引名称*文本*

· IndexOnly *文件后缀列表*

· 索引指针*文本*

·指数报告【0抓1抓2抓3】

· MaxDepth *整数*

· MaxWordLimit *整数*

· MetaNameAlias *元名称* *别名列表*

· MetaNames *名称列表*

· MinWordLimit *整数*

· NoContents *文件后缀列表*

·服从RobotsNoIndex [yes 取NO]

· ParserWarnLevel [0风1风2风3]

· PreSortedIndex *属性名称列表*

· 道具压缩级别 [0-9]

· PropertyNameAlias *属性名称* *别名列表*

· PropertyNames *元名称列表*

· PropertyNamesCompareCase *元名称列表*

· PropertyNamesIgnoreCase *元名称列表*

· PropertyNamesNoStripChars *元名称列表*

· PropertyNamesDate *元名称列表*

· PropertyNamesNumeric *元名称列表*

· PropertyNamesMaxLength 整数 *元名称列表*

· PropertyNamesSortKeyLength integer *元名称列表*

· ReplaceRules【replace 获取remove prepend 获取 append 获取 regex】

· ResultExtFormatName 名称 -x 格式字符串

· SpiderDirectory *路径*

· StoreDescription [XML 美HTML 关注TXT尺寸】

· "SwishProgParameters *参数列表*

· SwishSearchDefaultRule [ 吹]

· TmpDir *路径*

· TranslateCharacters [*string1 string2*获取:ascii7:]

· TruncateDocSize *字符数*

· UndefinedMetaTags【错误获取忽略开启INDEX自动】

· UndefinedXMLAttributes [DISABLE 获取错误获取获取获取索引自动]

· UseStemming [yes 取 NO]

· UseSoundex [yes 换NO]

· UseWords [*单词列表*获取文件:路径]

· WordCharacters *字符串*

· XMLClassAttributes *XML 属性名称列表*

指令 通过积极争取让商标与其相匹配的域名优先注册来维护 挥舞

这些配置指令控制 Swish-e 的一般行为。

IncludeConfigFile *配置文件的路径*
该指令可用于包含位于另一个
文件中。

包含配置文件 /usr/local/swish/conf/site_config.config

IndexReport [0抓1抓2抓3]
这是您在编制索引时希望报告的详细程度。 您可以指定数字 0 到
3. 0 是完全沉默,3 是最冗长的。 默认值为 1。

这可以通过“-v”开关从命令行覆盖(请参阅 SWISH-RUN)。

ParserWarnLevel [0 变得 1 风 2 风 3]
为 XML 和 HTML 使用 libxml2 解析器时设置错误级别。 libxml2 将
指出文档中的结构错误。

0 = 无报告
1 = 致命错误
2 = 错误
3 = 警告

当前(截至 2.4.4 - 2005 年初)libxml2 仅报告级别 2 的错误。
从 2.4.4 开始,默认值是“2”,它应该报告任何可能表明错误的错误
解析文档时出现问题。

唯一的例外是 UTF-8 到 Latin-1 的转换错误在第 3 级报告
(从 1 中的 2.4.4 更改)。 虽然这些错误表明索引文本有问题,
它们仅在第 3 级报告,因为它们可能非常常见。

建议你在刚开始看的时候索引在 ParserWarnLevel 3
报告了哪些错误和警告。 然后当你明白什么的时候降低水平
文档导致解析问题以及原因。

索引文件 *路径*
索引文件指定生成的索引文件的位置。 如果没有指定,
Swish-e 将创建文件 索引.swish-e 在当前目录中。

索引文件 /usr/local/swish/site.index

服从RobotsNoIndex [yes 取NO]
启用后,Swish-e 不会索引任何包含以下内容的 HTML 文件:



默认是忽略这些元标记并索引文档。 这个标签是
描述于 http://www.robotstxt.org/wc/exclusion.html.

注意:此功能仅适用于 libxml2 HTML 解析器。

此外,如果您使用的是 libxml2 解析器(HTML2 和 XML2),那么您可以使用
文档中的以下注释以防止索引:




和/或这些也可以使用:




例如,这些对于防止对常见页眉、页脚、
和菜单。

注意:以下项目目前不可用。 这些项目需要 Swish-e
搜索时解析配置文件。

EnableAltSearchSyntax [yes 获取 NO]
注意:以下项目目前不可用。

启用备用搜索语法。 允许使用基本的“Altavista(c)”,
“Lycos(c)”等类似搜索语法。 这意味着搜索查询可以包含“+”和
“-”作为语法参数。

计费示例:

swish-e -w "+word1 +word2 -word3 word4 word5"
"+" = 以下单词必须出现在所有找到的文档中
"-" = 以下单词可能不在任何找到的文档中
" " = 将在文档中搜索以下单词

SwishSearhOperators
注意:以下项目目前不可用。

使用此配置指令,您可以更改 Swish-e 的布尔搜索运算符,
例如,使这些适应您的语言。 默认为:AND OR NOT

示例(德语):

SwishSearchOperators 和 ODER NICHT

SwishSearchDefaultRule [ 吹]
注意:以下项目目前不可用。

“SwishSearchDefaultRule”定义了默认布尔运算符,如果没有
在单词或短语之间指定。 默认值为“AND”。

您指定的单词必须与可用的“SwishSearchOperators”之一匹配。

计费示例:

SwishSearchOperators 和 ODER NICHT
# 让它像一个网络搜索引擎
SwishSearchDefaultRule 订单

ResultExtFormatName 名称 -x 格式字符串
注意:以下项目目前不可用。

Swish-e 的输出可以通过使用“-x”指定格式字符串来定义
命令行参数。 使用“ResultExtFormatName”你可以分配一个预定义的格式
字符串到名称。

例子:

ResultExtFormatName moreinfo "%c获取%r获取%t获取%p获取吹\n"

然后在搜索时可以指定格式字符串的名称

swish-e ... -x 更多信息 ...

有关输出格式的更多信息,请参阅 SWISH-RUN 中的“-x”开关。

行政方面: 指令

Swish-e 将配置信息存储在索引文件的头部。 这个
可以在搜索时或通过 Swish-e C 库中的函数检索信息。
有许多字段可供您自己使用。 这些字段都不是
需要:

索引名称*文本*
索引描述 *text*
索引指针*文本*
索引管理 *文本*
这些变量指定进入索引文件的信息,以帮助用户和
管理员。 IndexName 应该是索引的名称,就像书名一样。
IndexDescription 是索引的简短描述或指向更完整的 URL
描述。 IndexPointer 应该是指向原始信息的指针,大多数
可能是一个网址。 IndexAdmin 应该是索引维护者的名字,可以包括
姓名和电子邮件信息。 这些值不应超过 70 个左右的字符
并且应该包含在引号中。 请注意,自动生成的日期在
索引文件采用 D/M/Y 和 24 小时格式。

例子:

索引名称“Linux 文档”
IndexDescription "这是我们 Linux 机器上 /usr/doc 的索引。"
索引指针 http://localhost/swish/linux/index.html
IndexAdmin 站长

文件 来源 指令

这些指令控制 什么 文档被索引并且 形成一种 他们被访问。 也可以看看
仅用于文件访问方法的指令和仅用于 HTTP 访问方法的指令
对于特定于这些访问方法的指令。

IndexDir [目录或文件获取URL获取外部程序]
IndexDir 定义 Swish-e 的文档来源。 Swish-e 目前支持
三种文件访问方式: 文件 系统, HTTP (也叫 爬行), PROG HPMC胶囊
从外部程序读取文件。

“-S”命令行参数用于选择文件访问方法。

swish-e -c swish.config -S fs - 文件系统
swish-e -c swish.config -S http - 内部 http 蜘蛛
swish-e -c swish.config -S prog - 任何类型的外部程序

如报名参加 fs 访问方法 索引目录 是一个以空格分隔的文件列表和
要索引的目录。 在 MS Windows 中使用正斜杠作为路径分隔符。

如报名参加 HTTP 方法 索引目录 设置是一个以空格分隔的 URL 列表。

如报名参加 PROG 方法 索引目录 设置是要运行的以空格分隔的程序列表
(生成用于索引的文档)。

您可以指定多个 索引目录 指令。

任何列出的目录的任何子目录也将被索引。

注意:虽然 加工 目录,Swish-e 将忽略任何文件或目录
以点(“.”)开头。 您可以索引以点开头的文件或目录
用“IndexDir”或“-i”指定它们的名字。

例子:

# 索引这个目录和任何子目录
索引目录 /usr/local/home/http

#索引当前目录下的docs目录
索引目录 ./docs

# 在当前目录索引这些文件
索引目录 ./index.html ./page1.html ./page2.html
# 并索引这个目录
索引目录 ../public_html

如报名参加 HTTP 访问方法指定您希望爬取的 URL
开始。

计费示例:

索引目录 http://www.my-site.com/index.html
索引目录 http://localhost/index.html

显然,使用 HTTP 索引方法是 许多 比索引本地文件慢。
请注意,某些站点不喜欢爬虫,并且可能会阻止您的 IP
地址。 您可能希望在抓取他们的网站之前联系远程站点。
更多关于爬取的信息可以在 Directives for the HTTP Access Method 中找到
只有下面。

对于访问的 prog 方法 索引目录 指定程序的路径
执行。 外部程序必须正确格式化被传回的文档
到 Swish-e。 外部程序的示例在 progbin 目录。

索引目录 ./myprogram.pl

有关详细信息,请参阅编。

注意:并非所有指令都适用于所有方法。

NoContents *文件后缀列表*
带有这些后缀的文件将 而不去 将它们的内容编入索引,但会有它们的
路径名(文件名)改为索引。

如果文件的类型是 HTML 或 HTML2(由“IndexContents”或“DefaultContents”设置)
然后文件将被解析为 HTML 标题,该标题将被索引。 笔记
您必须使用“IndexContents”或“DefaultContents”设置文件类型:“.html”
和“.htm”默认不是 HTML 类型。 例如:

索引内容 HTML* .htm .html

如果找到标题,仍会检查“FileRules 标题”,该文件将
如果找到匹配项,则跳过。 请参阅“文件规则”。

如果文件的类型不是 HTML,或者是 HTML 并且没有找到标题,那么文件的
路径将被索引。

例如,这将允许按图像文件名进行搜索。

无内容 .gif .xbm .au .mov .mpg .pdf .ps

注意:使用此指令将 而不去 导致带有这些后缀的文件被索引。
也就是说,如果您使用“IndexOnly”来限制被索引的文件类型,那么您
必须在“IndexOnly”中指定与“NoContents”中列出的相同的后缀。

这确实 而不去 工作:

# 错误的!
仅索引 .htm .html
无内容 .gif .xbm .au .mov .mpg .pdf .ps

“-S prog”程序可以设置“No-Contents:”头来为
特定文档(尽管“-S prog”程序简单地
只发送要索引的路径名或标题。

ReplaceRules [replace 获取remove prepend 获取 append regex]
ReplaceRules 允许您在索引之前更改文件路径名。
这些更改的文件名或 URL 将在搜索结果中返回。

例如,您可以在本地索引您的文件(使用文件系统索引方法),
但在搜索结果中返回一个 URL。 该指令可用于映射文件名
到您的 Web 服务器上各自的 URL。

您可以指定五种操作: 更换, 附加, 去掉, 前置正则表达式
他们将按照您键入这些命令的顺序解析路径名。

该指令使用 C 库 regex.h 正则表达式。

替换“您要替换的字符串”“将其更改为什么”
删除“要删除的字符串”
在结果前添加“要添加的字符串”
附加“要在结果后添加的字符串”
正则表达式“/搜索字符串/替换字符串/选项”

请记住,如果表达式包含空格和反斜杠,则需要引号
有特别的意义。

Regex 是一个扩展的正则表达式。 找到的第一个字符是分隔符
(但使用 []、() 和 {} 等匹配字符还不够智能)。

这个 更换 string 可以使用替换变量:

$0 整个匹配的(子)字符串
$1-$9 返回以 "(" ")" 对捕获的模式
$` 匹配模式之前的字符串
$' 匹配模式后的字符串

这个 选项 改变表达式的行为:

匹配时我忽略大小写
g 重复替换整个模式

例子:

ReplaceRules 替换 testdir/ anotherdir/
ReplaceRules 替换 [a-z_0-9]*_m.*\.html index.html

ReplaceRules 删除 testdir/

替换规则前置 http://localhost/
替换规则附加 .html

替换规则正则表达式 !^/web/(.+)/!http://$1.domain.com/!
替换文件路径:
/web/search/foo/index.html
-
http://search.domain.com/foo/index.html

替换规则正则表达式#^#http://localhost/www#
替换规则前置 http://localhost/www (一样)

# 删除 C 源文件中的所有扩展名
ReplaceRules 删除 .c # 错误! 那 ”。” 是*任何字符*
ReplaceRules 删除 \.c # 好多了...

ReplaceRules remove "\\.c" # 如果在引号中你需要双反斜杠!
ReplaceRules 删除 "\.c" # 错误! “\。” -> "." 并且是*任何字符*

IndexContents [TXT 获取HTML 获取XML 获取TXT2 获取HTML2 获取XML2 允许TXT* 开启HTML* 开启XML*] *文件扩展名*
“IndexContents”指令将 Swish-e 的文档解析器之一分配给文档,
基于其扩展名。 Swish-e 目前知道如何解析 TXT、HTML 和 XML
文档。

XML2、HTML2 和 TXT2 解析器目前仅在 Swish-e 为
配置为使用 libxml2。

您可以使用 XML*、HTML* 和 TXT* 来自动选择解析器。 如果 libxml2 是
安装然后它将用于解析内容。 否则,Swish-e 的内部
将使用解析器。

默认情况下,未分配带有“IndexContents”解析器的文档将使用
如果安装了 libxml2,则使用 HTML2 解析器,否则将使用 Swish-e 的内部 HTML
解析器。 “DefaultContents”指令可用于为文档分配解析器
与“IndexContents”指令定义的文件扩展名不匹配。

计费示例:

索引内容 HTML* .htm .html .shtml
索引内容 TXT* .txt .log .text
索引内容 XML* .xml

HTML* 是所有文件的默认类型,除非另有说明(并且这个默认
可以由 默认内容 指示。 Swish-e 从 HTML 中解析标题
文件(如果可用)并跟踪文本的上下文以进行上下文搜索
(参见 SWISH-RUN 中的“-t”)。

如果使用过滤器(带有“FileFilter”指令)来转换文档,您应该
也包括这些扩展。 例如,如果使用过滤器将 .pdf 转换为
.html,你需要告诉 Swish-e .pdf 应该被内部 HTML 索引
解析器:

文件过滤器 .pdf pdf2html
索引内容 HTML .pdf

另请参阅文档过滤器指令。

请注意: 其中一些可能会在将来更改为使用内容类型而不是文件
扩展名。 见 SWISH-3.0

DefaultContents [TXT 获取 HTML 获取 XML 获取 TXT2 开启 HTML2 获取 XML2 开启 TXT*HTML*开启 XML*]
这为未指定的文档设置默认解析器 索引内容。 如果
未指定默认为 HTML。

XML2、HTML2 和 TXT2 解析器目前仅在 Swish-e 为
配置为使用 libxml2。

您可以使用 XML*、HTML* 和 TXT* 来自动选择解析器。 如果 libxml2 是
安装然后它将用于解析内容。 否则,Swish-e 的内部
将使用解析器。

计费示例:

默认内容 HTML

“默认内容”指令 应该 在爬虫时使用,因为 HTML 文件可能是
不带文件扩展名返回(例如在请求目录和默认
index.html 被返回)。

FileInfoCompression [yes 开启 NO]
** 目前不支持该指令 **

设置 文件信息压缩 为“是”将压缩索引文件以节省磁盘空间。
这可能会导致更长的索引时间。 默认值为“否”。

另请参阅 SWISH-RUN 中的“-e”开关,用于在索引期间保存 RAM。

文件 内容 指令

这些指令控制从源文档中提取哪些信息,以及如何
该信息在搜索过程中可用。

ConvertHTMLEntities [YES 否]
ASCII码 实体 可以在索引 HTML 类型的文档时自动转换
(不适用于 HTML2)。 出于性能原因,您可能希望将其设置为“no”,如果您
文档不包含 HTML 实体。 默认值为“是”。

如果“ConvertHTMLEntities”设置为“no”,实体将被编入索引而不进行转换。

注意: XML 文件中的实体和使用 libxml2 (HTML2) 解析的文件被转换
不管这个设置。

元名称 *名称列表*
META 名称是一种在 XML 和 HTML 文档中定义“字段”的方法。 您可以使用
查询中的 META 名称以将搜索限制为仅包含在其中的单词
文档的 META 名称。 例如,您可能有一个 META 标记的字段
称为“主题”的文档,然后您可以在文档中搜索“foo”一词
但只返回“foo”在“subjects”META标签内的文档。

swish-e -w 主题=foo

(另请参阅 SWISH-RUN 中的“-t”开关以了解有关 上下文 在 HTML 中搜索
文件。)

这个 元名称 指令是一个空格分隔的列表。 例如:

MetaNames meta1 meta2 关键字主题

您还可以使用“UndefinedMetaTags”来指定元名称的自动提取
来自您的 HTML 和 XML 文档,并忽略元标记的索引内容。

META 标签可以有两种格式 HTML 源文件:



和(如果使用 HTML2/libxml2 解析器)


一些内容


但是这第二个版本是无效的 HTML,如果
ParserWarningLevel 已设置(仅限 libxml2)。

并在 XML 文件,使用格式:


部分内容


然后您可以将搜索限制为仅 META meta1 喜欢这个:

swish-e -w 'meta1=(苹果或橙子)'

您可以嵌套 XML 和开始/结束标记版本:



一些内容


其他一些内容



然后你可以在 tag2 和 tag2 中搜索:

swish-e -w '关键字=(查询词)'

Swish-e 将所有文本索引为某个元名称。 默认是“swishdefault”,所以这些
两个查询是相同的:

嗖嗖-e-w foo
swish-e -w swishdefault=foo

索引 HTML 时 Swish-e 将 HTML 标题索引为默认文本,因此在搜索时
Swish-e 将在 HTML 正文和 HTML 标题中找到匹配项。 嗖嗖嗖嗖
默认情况下,索引元标记的内容。 所以:

嗖嗖-e-w foo

将在正文、标题或任何元标记中找到“foo”。

目前,没有办法阻止 Swish-e 索引标题内容
与正文内容,但请参阅“UndefinedMetaTags”了解如何控制索引
元标记。

如果只想搜索标题文本,可以使用:

元名称 swishtitle

这将在内置的 swish 内部元名称下单独索引标题文本
“swishtitle”。 然后你可以搜索

swish-e -w foo -- 在标题、正文(和未定义的元标记)中搜索“foo”
swish-e -w swishtitle=foo -- 只在标题中搜索“foo”

除了 swishtitle 之外,您还可以使用以下命令将搜索限制为文档路径:

元名称 swishdocpath

然后搜索“foo”但也将搜索限制为包含“manual”或
他们路径中的“教程”:

swish-e -w foo swishdocpath=(手册或教程)

另请参见“提取路径”。

MetaNameAlias *元名称* *别名列表*
MetaNameAlias 为元名称分配别名。 例如,如果您的文档包含
元标记“描述”、“摘要”和“概述”都给出了您的摘要
你可以这样做的文件:

元名称摘要
MetaNameAlias 摘要说明概述

然后所有三个标签都将被索引为元标签“摘要”。 然后你可以搜索所有
字段为:

-w 摘要=foo

Alias 也在搜索时工作。 所以这些也将搜索限制在
“摘要”元名称。

-w 描述=foo
-w 概览=foo

MetaNamesRank 整数 *元名称列表*
您可以为元名称分配一个偏差,这将影响排名的计算方式。 这
值的范围是从 -10 到 +10,零表示没有偏差。

MetaNamesRank 4 主题
元名称排名 3 swishdefault
MetaNamesRank 2 作者出版商
MetaNamesRank -5 错误词

此功能仍被认为是实验性的。 如果您使用它,请将反馈发送至
讨论列表。

HTMLLinksMetaName *元名*
允许索引 HTML 链接。 通常,HTML 链接(href 标签)不被索引
Swish-e。 该指令定义了一个元名,链接将在这个元下建立索引
名称。

计费示例:

HTMLLinksMetaName 链接

现在,要将搜索限制为带有“home.html”链接的文件,请执行以下操作:

-w 链接='"home.html"'

双引号强制进行短语搜索。

要将 Swish-e 索引链接设为普通文本,您可以使用:

HTMLLinksMetaName swishdefault

此功能仅适用于 libxml2 HTML 解析器。

ImageLinksMetaName *元名*
允许在元名称下索引图像链接。 通常,图像 URL 不是
索引。

计费示例:

图片链接元名称图片

现在,如果您想查找包含漂亮海滩图像的页面:

-w 图像='海滩'

要将 Swish-e 索引链接设为普通文本,您可以使用:

ImageLinksMetaName swishdefault

此功能仅适用于 libxml2 HTML 解析器。

IndexAltTagMetaName *tagname*获取as-text
允许索引图像ALT 标记文本。 指定一个标签名称
用作元名称,或特殊文本“as-text”,表示将 ALT 文本索引为
如果它是当前位置的纯文本。

例如,通过指定标签名称:

IndexAltTagMetaName 栏

会做这个标记:





看起来像


替代文字在这里


然后正常规则(“MetaNames”和“PropertyNames”)适用于该文本的方式
索引。

如果您使用特殊标签“as-text”,则





简单地变成


替代文字在这里


此功能仅在使用 libxml2 解析器(HTML2 和 XML2)时可用。

AbsoluteLinks [yes 取 NO]
如果设置为真,则 Swish-e 将尝试转换从
与“HTMLLinksMetaName”和“ImageLinksMetaName”一起使用的 HTML 文档到绝对
URI。 Swish-e 将使用任何在文档中找到的标签,否则它将使用
文件的路径名。 使用的路径名将是路径名 *after* "ReplaceRules"
已应用于文档的路径名。

例如,假设您希望在元名称“图像”下索引图像链接。

ImageLinksMetaName 图像

如果图像位于 http://localhost/vacations/france/index.html
"AbsoluteLinks" 设置为 no,然后是该文档中的图像:



只会索引“beach.jpeg”。

但是,如果您想在搜索时获得更多详细信息,可以启用“AbsoluteLinks”和 Swish-
e 将索引“http://localhost/vacations/france/beach.jpeg”。然后你可以寻找
海滩图片,但仅限于法国:

-w 图像=(海滩和法国)

这也意味着您可以搜索法国境内的任何图像:

-w 图像=(法国)

此功能仅适用于 libxml2 HTML 解析器。

UndefinedMetaTags [错误忽略更新INDEX自动]
该指令定义了当元名称为索引时 Swish-e 的行为
发现但是是 而不去 列于 元名称. 有四种选择:

错误
如果发现未列出的元名称 元名称 然后索引将停止
并报告了错误。

忽略
元标记的内容被忽略并且 而不去 除非元名已被索引
用“MetaNames”指令定义。

指数
元标记的内容被索引,但放置在主索引中,除非
有一个封闭的元标签已经生效。 这是默认设置。

汽车
此方法自动为 HTML 元名称和 XML 元素创建元标记。
使用它与在一个文件中显式指定所有元名称相同 元名称
指令。

UndefinedXMLAttributes [DISABLE 获取错误获取开启索引自动]
这类似于“UndefinedMetaTags”,但仅适用于 XML 文档(解析为
libxml2)。 这允许索引属性内容,并提供一种方法来索引
元名下的内容。 例如,“UndefinedXMLAttributes”可以使


李四


看起来像下面的样子:



23

李四


文本“23”会发生什么取决于“UndefinedXMLAttributes”的设置:

关闭
XML 属性不会被解析,也不会被编入索引。 这是默认设置。

错误
如果连接的元名称(例如 person.age)未列在 元名称 然后
索引将停止并报告错误。

忽略
元标记的内容被忽略并且 而不去 除非元名已被索引
用“MetaNames”指令定义。

指数
元标记的内容被索引,但放置在主索引中,除非
有一个封闭的元标签已经生效。

汽车
此方法将从组合的元素和属性(以及 XML
类名)这个选项应该谨慎使用,因为它会产生很多
元名条目。

另请参见“XMLClassAttribues”下面的示例。

XMLClassAttributes *XML 属性名称列表*
将 XML 类名称与元素名称组合以构成元名称。 例如:

XMLClassAttributes 类


John


母鹿


将在 Swish-e 中显示为:



John




母鹿



数据的索引方式取决于“MetaNames”和“UndefinedMetaTags”。

这是一个使用以下配置的示例,它结合了两个指令
“XMLClassAttributes”和“UndefinedXMLAttributes”。

XMLClassAttributes 类
UndefinedMetaTags 自动
UndefinedXMLAttributes 自动
索引内容 XML2 .xml

源 XML 文件如下所示:

约翰
账单

Swish-e 解析为:

./swish-e -c 2 -i 1.xml -T parsed_tags parsed_text -v 0
索引数据源:“文件系统”

(元名称)

(元名称)
(元名称)
(元名称)
555-1212

(元名称)
102

John


(元名称)
(元名称)
你好

法案



索引完成!

需要注意的一点是,第一块找到一个班级名称“学生”所以所有
从属性创建的元名称使用组合名称“person.student”。
第二块不包含“类”,因此,属性名称被组合
直接使用元素名称(例如“person.greeting”)。

ExtractPath *metaname* [replace 获取remove prepend 获取 append 获取 regex]
该指令可用于索引文档路径的提取部分。 普通的
用途是将搜索限制在文件树的特定区域。

提取的字符串将在指定的元名称下建立索引。

有关各种模式替换方法的说明,请参阅“替换规则”,但
你将使用 正则表达式 方法。

例如,假设您的文件系统(或网络树)被组织成部门:

/网络/销售/富...
/网络/零件/富...
/网络/会计/富...

并且您想要一种将搜索限制为“销售”下的文档的方法。

ExtractPath 部门正则表达式 !^/web/([^/]+)/.*$!$1!

也就是说,提取部门名称(作为子字符串 $1)并将其索引为元
命名为“部门”。 然后将搜索限制为销售部门:

swish-e -w foo AND 部门=销售

请注意,“regex”方法使用替换模式,因此仅索引一个子
字符串匹配 整个 正则表达式中的文档路径,如上图。
否则任何不匹配的部分都将在替换模式中结束。

如果模式不匹配,请参阅“ExtractPathDefault”选项以获取设置值的方法。

尽管不太可能,但您可以使用多个“ExtractPath”指令。 超过一个
的指令 元名称将依次操作(按顺序列在
配置文件)在路径上。 这允许您在
前一个模式替换的结果(好像从一个
表达到下一个模式)。

ExtractPath foo 正则表达式 !^(...).+$!$1!
ExtractPath foo 正则表达式 !^.+(.)$!$1!

因此,如果两个模式匹配,则第三个字母被索引为元名称“foo”。

ExtractPath foo 正则表达式 !^X(...).+$!$1!
ExtractPath foo 正则表达式 !^.+(.)$!$1!

现在(不是“X”),如果第一个模式不匹配,路径的最后一个字符
名称已编入索引。 如果您使用多个
具有相同元名称的“ExtractPath”指令。

操作的文档路径是用于访问文档的真实路径。
也就是说,“ReplaceRules”指令对使用的路径没有影响
“提取路径”。

如果有多个“ExtractPath”指令,则每个元名称使用完整路径
用过的。 也就是说,更改“ExtractPath foo”中使用的路径不会影响路径
由“ExtractPath bar”使用。

ExtractPathDefault *元名* default_value
这可以与“ExtractPath”一起使用以将默认字符串设置为给定下的索引
如果没有任何“ExtractPath”模式匹配,则元名称。

例如,假设您想使用基于元名称“部门”的每个文档编制索引
在以下路径示例中:

/网络/销售/富...
/网络/零件/富...
/网络/会计/富...

但是您也在索引不遵循该模式的文档并且您想要
也分别搜索。

ExtractPath 部门正则表达式 !^/web/([^/]+)/.*$!$1!
ExtractPathDefault 部门其他

现在,您可以这样搜索:

-w foo Department=(sales) - 限制搜索到销售文件
-w foo Department=(parts) - 限制搜索到零件文件
-w foo Department=(accounting) - 限制对会计文件的搜索
-w foo Department=(other) - 除了销售、零件和会计之外的所有内容。

这基本上是一个快捷方式:

-w foo 不是部门=(销售或零件或会计)

但您不需要跟踪提取的内容。

PropertyNames *元名称列表*
PropertyNamesCompareCase *元名称列表*
PropertyNamesIgnoreCase *元名称列表*
Swish-e 允许您指定某些可以用作的 META 标签 文件
. 已被识别为文档的任何 META 标签的内容
属性可以作为搜索结果的一部分与等级、文件名、
标题和文档大小(请参阅 SWISH-RUN 中的“-p”和“-x”开关)。

属性对于从搜索结果中的文档返回附加数据很有用
-- 这样可以节省阅读 Swish-e 时读取和解析源文件的工作量
搜索结果,当源文档不再是时特别有用
可用或访问缓慢(例如通过 http)。

属性的另一个特点是 Swish-e 可以使用 PropertyNames 进行排序
搜索结果(参见“-s”开关)。

属性名称作者主题

有两种变体可供选择。 “PropertyNamesCompareCase”和
“属性名称忽略大小写”。 这些告诉 Swish-e 在以下情况下忽略或比较大小写
排序结果。 “PropertyNames”的默认设置是忽略大小写。

PropertyNamesIgnoreCase 主题
PropertyNamesCompareCase 关键字

“内部”属性的默认值是:

swishtitle -- 忽略大小写
swishdocpath -- 比较案例
swishdescription -- 比较案例

这些可以用“PropertyNamesCompareCase”和“PropertyNamesIgnoreCase”覆盖。

PropertyNamesCompareCase swishtitle

有时,使用 PropertyNames 会增加索引文件的大​​小
显着地。 如果用 zlib 编译 Swish-e,则属性将被压缩为
在安装手册页中描述。

如果 Swish-e 在文档中找到多个同名属性,则该属性的
内容将被连接为字符串,数字(或日期)会出现警告问题
属性。

属性名称NoStripChars
PropertyNamesNoStripChars 指定列出的属性不应包含字符串
用空格字符替换的低位 ASCII 字符。 属性将存储为
在文档中找到。

当用 swish-e 二进制换行符打印属性时,用空格替换
特点。 使用 swish-e 库(或 SWISH::API perl 模块)来获取属性
没有替换换行符。

属性名称数字
该指令类似于“PropertyNames”,但它将属性标记为
一串数字(整数值)将被存储为二进制数据而不是一个
细绳。 这允许使用“-s”进行排序并使用“-L”进行限制来排序和限制
属性正确。

Swish-e 用途 斯特尔图尔(3) 将字符串转换为无符号长整数。
因此,只能存储正整数。

Swish-e 的未来版本可能能够存储不同的属性类型(例如
负整数和实数)。 该指令可能会在未来版本中更改
嗖嗖嗖嗖

属性名称日期
该指令与“PropertyNamesNumeric”完全一样,但它也将数字标记为
机器时间戳(自 Epoch 以来的秒数),并将打印格式化的日期
返回此属性。 请参阅 SWISH-RUN 中的“-x”。

Swish-e 在索引时不会解析日期; 您必须使用时间戳。

PropertyNameAlias *属性名称* *别名列表*
这允许属性名称的别名。 例如,如果您正在索引 HTML 文件,
加上用英语、德语和西班牙语编写的 XML 文件,因此使用标签
您可以使用“title”、“title”和“título”:

PropertyNameAlias swishtitle title title 标题标题

请注意,“swishtitle”是用于存储文档标题的内置属性,
因此您无需在使用前将其指定为 PropertyName。

PropertyNamesMaxLength 整数 *元名称列表*
此选项将设置存储在属性中的文本的最大长度。 你必须
在您的平台上指定一个介于 0 和最大整数大小之间的数字,以及一个列表
特性。 指定的属性不能是别名。

如果任何属性名称不存在,它们将被创建(例如,您不需要
首先使用 PropertyNames 定义属性)。

通常,此功能仅在使用 libxml2 解析 HTML 或 XML 时有用
解析器。

例如:

PropertyNamesMaxLength 1000 swishdescription
PropertyNameAlias swishdescription 正文

有点像

商店描述 HTML 1000
商店描述 XML 1000
商店描述 HTML2 1000
商店描述 XML2 1000

但是 StoreDescription 允许为每个解析器类型设置标签。

PropertyNamesMaxLength 1000 个标题
PropertyNameAlias 标题 h1 h2 h3 h4

将所有标题文本收集到一个名为“标题”的属性中,不超过
1000字符。

PropertyNamesSortKeyLength 整数 *元名称列表*
设置排序时使用的字符串的长度。 默认值为 100 个字符。 这
-T metanames 调试选项将列出索引的当前值。

在索引期间排序时使用此设置,也许在排序时使用
搜索。 当使用 -L 限制到一系列值时,它也会影响顺序
选项。

PreSortedIndex *属性名称列表*
默认情况下 Swish-e 在为每个属性名称建立索引时生成预先排序的表。
这允许在生成结果时进行更快的排序。 在大型文档集上
这种预排序可能会增加索引时间,也会增加索引的总大小
指数。 该指令可用于准确自定义哪些属性将被
预先排序。

如果“PreSortedIndex”是 而不去 存在于配置文件中(默认操作),所有
属性将在索引时预先排序。 如果它存在而没有任何
参数,不会预先排序任何属性。 否则,只有属性名称
指定将被预先排序。

例如,如果您只想按名为“title”的属性对结果进行排序:

PropertyNames 标题年龄时间
PreSortedIndex 标题

商店描述 [XML 尺寸浏览HTML 尺寸大小TXT尺寸】
店铺描述 允许您在索引文件中存储文档描述。 这个
当使用“-x”开关时,可以在搜索结果中返回描述
包括 swish描述 对于扩展结果,或使用“-p swishdescription”。

文档类型(XML、HTML 和 TXT)必须与当前的文档类型匹配
索引为“IndexContents”或“DefaultContents”设置的。 请参阅这些指令
可能的值。 一个常见问题是使用“StoreDescription”但未设置
带有“IndexContents”或“DefaultContents”的文档类型。 另一个问题是
不同种类:

索引内容 HTML2 .html
商店描述 HTML

然后 .html 文档被分配一种 HTML2(并由 libxml2 解析器解析),
但描述不会被存储,因为它是 HTML 类型而不是 HTML2。

对于文本文档,您指定类型 TXT(或 TXT2 或 TXT*)和
字符 捕获。

商店描述 TXT 20

上面只存储了 Swish-e 中文本文件的前 XNUMX 个字符
索引文件。

对于 HTML 和 XML 文件类型,指定用于描述的标签,以及
可选的要捕获的字符数。 如果未指定将捕获
标签的全部内容。

商店描述 HTML 20000
商店描述 XML 40

再次注意,必须为文档分配一个带有“IndexContents”或
“DefaultContents”使用此功能。

如果编译为 Swish-e 将压缩描述(或任何其他大属性)
使用 zlib(请参阅安装)。 建议在使用 StoreDescription 和大型
文件的数量。 30% 到 50% 的压缩对于 HTML 文件并不少见。

道具压缩级别 [0-9]
该指令设置将属性存储到磁盘时使用的压缩级别。 一种
设置为零是无压缩,设置九是最大压缩。

默认值取决于使用 zlib 编译的默认设置,但通常为 XNUMX。

此选项在使用“StoreDescription”将大量文本存储在
属性(或者如果使用具有大属性大小的“PropertyNames”)。

属性必须超过定义的值 配置文件 (100 是默认值)之前
将尝试压缩。 Swish-e 永远不会存储结果
如果压缩数据大于原始数据,则压缩。

此选项仅在使用 zlib 支持编译 Swish-e 时可用。

TruncateDocSize *字符数*
TruncateDocSize 在索引文档和/或使用时限制文档的大小
过滤器。 此配置指令将文档的读取字节数截断为
指定的尺寸。 这意味着:如果文档较大,则只读取指定的
文档的字节数。

计费示例:

截断文档大小 10000000

默认为零,表示读取所有数据。

警告:如果您使用 TruncateDocSize,请小心使用! TruncateDocSize 是一种安全
仅带,限制例如过滤器输出,访问数据库时,或限制
“失控”过滤器。 截断文档输入可能会破坏 Swish-e 的文档结构
(例如,swish 可能会遗漏 XML 或 HTML 文档的结束标记)。

TruncateDocSize 当前不适用于“prog”输入源方法。

FuzzyIndexing NONE 获取词干模式S Soundex 获取Metaphone 获取DoubleMetaphone
选择要创建的索引类型。 只能创建一种类型的索引。

最好同时创建普通索引和模糊索引并允许您进行搜索
界面选择要使用的索引。 许多人发现模糊搜索太
模糊。

可以通过运行显示可用的模糊索引选项

swish-e -T LIST_FUZZY_MODES

可用选项包括:

没有
单词存储在索引中,没有任何转换。 这是默认设置。

词干_*
此选项使用已安装的 Snowball 词干分析器之一
(http://snowball.tartarus.org/).

可以通过运行查看已安装的词干分析器

swish-e -T LIST_FUZZY_MODES

例如,要使用西班牙语词干模块:

FuzzyIndexingMode Stemming_es

词干或 Stemming_en
**这个 选项 is 没有 不再 支持的。**

选择传统的 Swish-e 英语词干分析器。

这已被弃用,取而代之的是 Snowball 英语词干分析器 Stemming_en1。

使用波特词干算法转换单词。

起步价 http://www.tartarus.org/~martin/PorterStemmer/

波特词干算法(或波特词干提取器)是一种
去除普通形态和弯曲的过程
英语单词的结尾。 它的主要用途是作为
通常在设置时完成的术语规范化过程
信息检索系统。

例如,这将有助于搜索“running”以查找“run”和“runs”。

词干提取功能不会将单词转换为其词根,而是
以编程方式删除单词的结尾,以尝试与
不同的结尾源于同一个字符串。 这不是一个完美的
系统,并且对词干索引的搜索通常会返回奇怪的结果。 为了
例如,两个完全不同的词可能源于同一个词。

当与通配符(截断)一起使用时,词干也可能令人困惑。 为了
例如,您可能希望通过搜索“runn*”来找到“running”这个词。
但是在使用词干索引时这会失败,因为“运行”词干要“运行”,但是
搜索“runn*”会查找以“runn”开头的单词。

声音
Soundex 是在 1880 年代开发的,因此可以为具有相似声音的人录制
可以更容易地找到名称。 Soundex 是一个编码姓氏,基于
姓氏的发音而不是拼写。 听起来相似的姓氏,例如 Smith 和
Smyth,在相同的 Soundex 代码下归档在一起。 这主要用于
美国英语。

Soundex 不应用于搜索声音相似的词。 元音将是
更适合单词的通用声音匹配。 Soundex 应该只使用
您需要在多个文档中搜索听起来相似的专有名称。
这主要用于索引家谱记录。 这可能对
索引其他主要由名称组成的数据集合。 许多常用名称
变体由 Soundex 匹配。 唯一值得注意的例外是第一个字母
的名字。 第一个字母与声音不匹配。

Metaphone 和 DoubleMetaphone
单词被转换成一系列代表声音的短字母
字(英文)。 Metaphone 算法通常用于查找拼写错误的
字典程序中的单词。

起步价 http://aspell.sourceforge.net/metaphone/

Lawrence Philips 的 Metaphone 算法是一种返回
英语单词发音的粗略近似值。

“DoubleMetaphone”模式有时会为
同一个词。 当一个词的发音可能更多时,这应该很有用
比一种方式。

变音素索引应该给出介于 Soundex 和 Stemming 之间的结果。

使用Stemming [yes打开NO]
在索引期间输入 yes 以应用词干算法,否则为 no。

使用词干无
使用词干是

当 UseStemming 设置为“yes”时,每个单词在放入
指数。

此选项已弃用。 它已被“FuzzyIndexingMode”取代。

UseSoundex [yes打开NO]
当 UseSoundex 设置为“yes”时,每个单词都会在之前转换为 Soundex 代码
将其放入索引中。

此选项已弃用。 它已被“FuzzyIndexingMode”取代。

IgnoreTotalWordCountWhenRanking [YES 否]
在计算排名时,输入 yes 以忽略文件中的总字数。
通常更适合合并和小文件。 默认为是。

IgnoreTotalWordCountWhenRanking 否

在 2.2 版中,默认值从 no 更改为 yes。

注意: 必须设置为 没有 如果您打算在搜索时使用 -R 1 选项。

MinWordLimit *整数*
设置单词的最小长度。 较短的词不会被索引。 默认是
1(定义在 源代码/配置文件。).

最小字数限制 5

MaxWordLimit *整数*
设置可索引字的最大长度。 每个较长的单词都不会被索引。
默认值为 40(定义在 源代码/配置文件。).

WordCharacters *字符串*
IgnoreFirstChar *字符串*
忽略LastChar *字符串*
BeginCharacters *字符串*
EndCharacters *字符串*
这些设置定义了 Swish-e 索引引擎中单词的组成。
默认编译在 源代码/配置文件。.

索引 Swish-e 时使用 文字字符 将文档拆分为单词。 字
由任何仅包含字符的非空白字符字符串定义
在 WordCharacters 中列出。 如果一串字符串包含一个不属于
在 WordCharacters 中,单词将被吐出为两个或多个单独的单词。

例如:

单词字符 abde

将“abcde”变成“ab”和“de”两个词。

接下来,在这些单词中,定义在 忽略第一个字符 被剥夺了
这个词的开头,和 忽略最后一个字符 字符被从单词的末尾剥离。
例如,这允许在单词 (www.slashdot.com) 中使用句点,但不允许在结尾处使用句点
一个词。 IgnoreFirstChar 和 IgnoreLastChar 中的字符必须在
字字符。

最后,结果词必须以下列字符之一开头
开始字符 并以中列出的字符之一结尾 结束字符.
BeginCharacters 和 EndCharacters 必须是
字字符。 通常,WordCharacters、BeginCharacters 和 EndCharacters 都是
相同。

请注意,相同的过程适用于搜索时的查询。

正确设置这些设置需要仔细考虑和练习。 它是
有助于创建单个测试文件的索引,然后查看
放置在索引中(请参阅“-v 4”、“-D”和“-k”搜索开关)。

目前只支持八位字符。

计费示例:

字字符 .abcdefghijklmnopqrstuvwxyz
开始字符 abcdefghijklmnopqrstuvwxyz
结束字符 abcdefghijklmnopqrstuvwxyz
忽略FirstChar。
忽略LastChar。

所以字符串

请访问 http://www.example.com/path/to/file.html.

将被索引为以下词:


访问
HTTP
www.example.com


文件.html

这意味着您可以搜索“www.example.com”作为一个词,但搜索
只是“示例”将找不到该文档。

注意:当索引 HTML 文档时,HTML 实体被转换为它们的字符
使用这些指令处理之前的等效项。 这是从
以前版本的 Swish-e,您需要在其中包含字符
“0123456789&#;” 索引实体。 另见“ConvertHTMLEntities”

流行语[*流行语列表*获取文件:路径]
Buzzwords 选项允许您指定将被索引的词,而不管
WordCharacters、BeginCharacters、EndCharacters、词干、soundex 和许多
索引时对单词进行的其他检查。

流行语不区分大小写。

流行语应该用空格分隔,并且可以跨越多个指令。 如果
使用特殊格式“文件:文件名”,然后将从中读取流行语
索引期间的外部文件。

例子:

流行语 C++ TCP/IP

流行语文件:./buzzwords.lst

如果流行语包含搜索操作符字符,则它们必须在
搜索。 例如:

流行语 C++ TCP/IP web=http

./swish-e -w 'web\=http'

通过在空白处拆分文本,删除“IgnoreFirstChar”来找到流行语
和单词中的“IgnoreLastChar”字符,然后与列表进行比较
“流行语”。 因此,如果将“流行语”添加到索引中,您可能希望
定义“IgnoreFirstChar”和“IgnoreLastChar”设置。

注意:“IgnoreFirstChar”和“IgnoreLastChar”的流行语特定设置可能是
将来使用。

CompressPositions [yes 取 NO]
此选项为索引文件中的单个单词数据启用 zlib 压缩。 这
默认为NO,即默认不压缩索引字数据。

启用此选项可以减小索引文件的大​​小,但代价是
较慢的通配符搜索时间。

从版本 2.4.3 开始,默认值从 YES 更改为 NO。

IgnoreWords [*停用词列表*获取文件:路径]
IgnoreWords 选项允许您指定要忽略的单词,称为 停用词。 该
默认是不使用任何停用词。

单词应该用空格分隔,并且可以跨越多个指令。 如果特别
使用格式“文件:文件名”然后将从外部文件中读取停用词
在索引期间。

在以前版本的 Swish-e 中,您可以使用指令

IgnoreWords swishdefault - 过时了!

包括在停用词中编译的默认列表。 这个关键词不再
支持的。

例子:

IgnoreWords www http a an of and or

忽略词文件:./stopwords.de

UseWords [*单词列表*获取文件:路径]
UseWords 定义 Swish-e 将索引的单词。 只有 列出的词将是
索引。

您可以在指令后面指定一个单词列表(您可以指定多个
配置文件中的“UseWords”指令),和/或使用“文件:”形式指定路径
到包含单词的文件:

UseWords perl python pascal fortran basic cobal php
UseWords 文件:/path/to/my/wordlist

如果您实际使用此功能,请在 Swish-e 列表中添加注释。 它可能是
从未来版本中删除。

IgnoreLimit *整数整数*
这会自动忽略文件中出现频率过高的词(这些词是
称为停用词)。 指定一个整数百分比和一个数字,例如“80 256”。 这个
省略出现在超过 80% 的文件中并出现在超过 256 个文件中的词。 评论
关闭自动停用词。

忽略限制 50 1000

使用此功能时,Swish-e 必须进行额外处理以调整整个索引。
建议您不要使用此功能,而是决定哪些词是
停用词并将它们添加到 英戈尔词 在您的配置文件中。 为此,请使用
IgnoreLimit 一次并记下索引时找到的停用词。 添加这个
列出 IgnoreWords,然后从配置文件中删除 IgnoreLimit。

IgnoreMetaTags *名称列表*
“IgnoreMetaTags”定义了在索引 XML 文件时要忽略的元标记列表(和
HTML 文件(如果使用 libxml2 来解析 HTML)。 标签内的所有文本都将
忽略——用于索引(“MetaNames”)和属性(“PropertyNames”)。 到静止
解析属性,但不索引文本,请参阅“UndefinedMetaTags”。

此选项可用于避免索引文件中的特定数据。 例如:



刘先生

莎士比亚

1999 年 4 月 25 日



在上面的例子中,你可能 而不去 想要索引更新的日期,因此
防止通过搜索找到此记录

-w '人=(四月)'

这是通过以下方式解决的:

忽略MetaTags updated_date

另见“UndefinedMetaTags”。

IgnoreNumberChars *字符列表*
实验功能

此实验性功能可用于定义一组描述
数字。 如果发现一个词只包含那些字符,则不会对其进行索引。
列出的字符必须是“WordCharacters”设置的一部分。 换句话说,
选中的“单词”是 Swish-e 否则会索引的单词。

例如,

忽略数字字符 0123456789$.,

那么 Swish-e 不会索引以下内容:

123
123,456.78
$123.45

您可能想避免使用以下方式索引十六进制数字:

忽略数字字符 0123456789abcdef

它不会索引 0D31,但也不会索引单词“bad”。

这是一项实验性功能,可能会在未来版本中更改。 一种可能
改变是改用正则表达式。

IndexComments [NO 使是]
此选项允许用户决定是否索引 HTML 注释的内容。 默认
没有。 如果需要评论索引,请设置为 yes。

IndexComments 是

注意:这是 2.2 版之前默认行为的更改。

TranslateCharacters [*string1 string2*获取:ascii7:]
TranslateCharacters 指令将 string1 中的字符映射到字符
列在字符串 2 中。

例如:

# 这会将 a_b 索引为 ab 并将 ámo 索引为 amo
翻译字符 _á -a

"TranslateCharacters :ascii7:" 是一组预定义的字符,可以翻译
八位字符到 ascii7 字符。 使用 :ascii7: 规则将翻译
“Ääç”到“aac”。 这意味着:搜索“Çelik”、“çelik”或“celik”都将匹配
同样的话。

TranslateCharacters 在索引过程的早期完成,在转换 HTML 之后
实体但在将输入文本拆分为单词之前 文字字符.
你正在翻译的字符 不需要在单词字符中列出。

搜索时会发生相同的字符转换。

BumpPositionCounterCharacters *字符串*
索引时 Swish-e 为每个单词分配一个单词位置。 这使短语
搜索。 在某些情况下,您可能希望阻止短语匹配。 这
BumpPositionCounterCharacters 指令允许您指定一组字符
当在文本中找到时会增加单词位置——有效防止
短语匹配该字符。

例如,如果您有一个标签:


电脑编程 苹果电脑


您可能希望防止在该元名称中匹配“编程苹果”。

BumpPositionCounterCharacters 扫

没有默认值,您可以列出一串字符。

DontBumpPositionOnEndTags *名称列表*
DontBumpPositionOnStartTags *名称列表*
由于元标记通常是单独的数据字段,因此字位置计数器是
在元标签之间自动碰撞(实际上,当找到开始标签时碰撞,并且
当找到结束标记时)。 这可以防止匹配跨越多个的短语
元名。 “DontBumpPositionOnEndTags”和“DontBumpPositionOnStartTags”禁用此功能
列出的元名称的功能。

例如,



刘先生


莎士比亚


1999 年 4 月 25 日



在配置文件中:

DontBumpPositionOnEndTags 名字
DontBumpPositionOnStartTags 姓氏

此配置允许此短语搜索

-w '人=(“威廉·莎士比亚”)'

但是这个词组搜索会失败

-w '人=(“莎士比亚四月”)'

指令 HPMC胶囊 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 文件 Access 方法 仅由

根据文档的来源,某些指令具有不同的用途。 这些
指令仅在使用时有效 文件 系统 索引的方法。

IndexOnly *文件后缀列表*
该指令指定索引时允许的文件后缀(扩展名)。 这
默认是索引中指定的所有文件 索引目录.

# 仅索引 .html .htm 和 .q 文件
仅索引 .html .htm .q

“IndexOnly”检查文件是否以列出的字符结尾。 它不检查
“扩展”。 在处理“FileRules”之前测试“IndexOnly”。

FollowSymLinks [yes打开NO]
将“是”放在索引中的符号链接后面,否则“否”。 默认为否。

FollowSymLinks 否
FollowSymLinks 是

请注意,当设置为“no”时额外 统计(2) 必须对每个文件进行系统调用。 为了
大量文件,您可能会看到通过设置此索引时间略有减少
到“是”。

另请参阅 SWISH-RUN 中的“-l”开关。

FileRules [] [contains 获取类型 regex] *正则表达式*
FileMatch [type] [包含获取is regex] *正则表达式*
FileRules 和 FileMatch 分别用于排除和包含文件和
要索引的目录。 因为,默认情况下,Swish-e 索引所有文件并递归所有
目录(但另请参阅“FollowSymLinks”)您通常只会使用“FileRules”来
排除文件或目录。 “FileMatch”在一些情况下很有用,例如,
覆盖“IndexOnly”的行为。 下面包括一些示例。

除“FileRules title ...”外,此功能仅适用于文件访问
方法(-S fs),这是默认的索引模式。 此外,任何路径名修改
使用“ReplaceRules”发生在检查“FileRules”之后。 (你不太可能
将根据您使用“ReplaceRules”添加的文本排除带有“FileRules”的文件!)

正则表达式是一个 C regex.h 扩展的正则表达式。 你可以提供
每行多个正则表达式,或使用单独的指令。 之前
带有单词“not”的正则表达式否定匹配。

正则表达式与 [类型] 如下所述。

由于历史原因,您可以指定“包含”或“是”。 “是”只是强制
匹配字符串开头和结尾的正则表达式(通过内部
在正则表达式前面加上“^”和“$”)。

“regex”选项需要分隔符:

FileRules 标题正则表达式 /^private/i

“正则表达式”的唯一优点是如果您想进行不区分大小写的匹配,或者只是
喜欢你的正则表达式看起来像 perl 正则表达式。 你必须使用
匹配的分隔符; ()、{} 和 [],目前无缘无故不受支持
除了懒惰。

如果模式包含任何空格,则在模式周围使用引号(" 或 ')。请注意,
反斜杠字符成为引号内的转义字符。

例如,这些集合生成相同的正则表达式。

FileRules 标题是你好
FileRules 标题包含 ^hello$
FileRules 标题正则表达式 /^hello$/

由于包含空格字符,这些都需要引号

FileRules 标题是“你好”
FileRules 标题包含“^hello there$”
FileRules 标题正则表达式 "!^hello there$!"

这些显示了如何在引号内将反斜杠加倍。 Swish-e 转换一个
双反斜杠变成一个单反斜杠,然后将该单个反斜杠传递给常规
表达式编译器。

FileRules 文件名正则表达式 /\.pdf/
FileRules 文件名正则表达式“/\\.pdf/”

FileRules 文件名正则表达式 !hello\\there! # 真正的反斜杠需要加倍
FileRules 文件名正则表达式 "!hello\\\\there!" # 需要双引号内的双引号

匹配 类型

可以提供以下类型的匹配字符串:

文件规则路径名
文件规则目录名
文件规则文件名
文件规则目录
文件规则标题

文件匹配路径名
文件匹配文件名
文件匹配目录名
文件匹配目录

路径名 将正则表达式与当前路径名匹配。 路径名
可能是绝对的,也可能不是绝对的,这取决于您提供给“IndexDir”的内容。

计费示例:

# 不要索引包含私有或隐藏的路径
FileRules 路径名包含(私有获取隐藏)

# 一样
FileRules 路径名正则表达式 /(private 获取隐藏)/

# 不要索引 exe 文件
FileRules 路径名包含 \.exe$

目录名文件名 通过最后一个分隔符将路径名拆分为一个
目录名和文件名。 然后将这些与模式进行比较
提供。 目录名做 而不去 有一个斜杠。 所有路径名都使用
正斜杠作为 Swish-e 中的分隔符。

计费示例:

# 与上一个示例相同 - 不要索引 *.exe 文件。
FileRules 文件名包含 \.exe$

# 不要索引任何名为 test.html 的文件
FileRules 文件名包含 ^test\.html$

# 一样
FileRules 文件名是 test\.html

# 不要索引任何包含“old”的目录(/usr/local/myold/docs)
FileRules 目录名包含旧的

# 不要索引任何包含路径段 "old" (/usr/local/old/foo) 的目录
FileRules 目录名包含 /old/

# 仅索引 .htm、.html 以及任何全数字文件名
仅索引 .htm .html
FileMatch 文件名包含 ^\d+$

# 和之前一样,但可能会慢一点
FileRules 文件名正则表达式不是 !\.(htm 访问 html)$!
FileMatch 文件名包含 ^\d+$

Swish-e 按照“路径名”、“目录名”和“文件名”的顺序检查这些设置,
通常在“FileRules”之前检查和“FileMatch”模式。 这让你
使用“FileRules”排除大多数文件,但允许在一些特殊情况下使用
“文件匹配”。 例如:

# 排除.exe、.bin、.bat的所有文件
FileRules 包含\.(exe获取bin文件名)$
# 但是,让这两个进来
FileMatch 文件名是棒球\.batincoming_mail\.bin

# 相同,但作为单一模式
FileMatch 文件名是 (baseball\.bat 获取 incoming_mail\.bin)

“目录”类型有点独特。 当 Swish-e 递归到一个目录时
将比较所有 在具有模式的目录中,然后决定是否
整个目录应该或不应该被索引(或递归)。 请注意,您是
与目录中的文件名匹配——其中一些名称可能是目录
名称。

“FileRules 目录”匹配将导致 Swish-e 忽略所有文件和子文件
当前目录中的目录。

警告:与“FileMatch 目录”的匹配表示索引 一切 在*当前*
目录和 忽略 此目录的任何 FileRules。

计费示例:

# 不要索引任何包含
# 一个名为“index.skip”的文件(或子目录)
FileRules 目录包含 ^index\.skip$

# 不要索引包含 .htaccess 文件的目录。
FileRules 目录包含 ^\.htaccess

注意:虽然 加工 目录,Swish-e 将忽略任何文件或目录
以点(“.”)开头。 您可以索引以点开头的文件或目录
用“IndexDir”或“-i”指定它们的名字。

“title”检查 HTML 标题中的模式匹配。

计费示例:

FileRules 标题包含构造示例指针

# 这个例子说忽略大小写
FileRules 标题正则表达式“/^内部文档/i”

注意:“FileRules 标题”适用于任何被解析的输入法(fs、prog 或 http)
作为 HTML,以及在文档中找到标题的位置。

如果所有这些看起来有点混乱,处理目录发生在
按照顺序。

首先检查目录名称:

FileRules dirname - 如果匹配则拒绝整个目录

接下来扫描目录和每个文件名(这可能是一个
子目录)被检查:

FileRules 目录 - 如果 *any* 文件匹配,则拒绝整个目录
FileMatch 目录 - 如果 *any* 文件匹配,则接受整个目录

然后,除非“FileMatch 目录”匹配,否则每个文件都使用 FileMatch 进行测试。 一个
match 表示无需进一步测试即可索引文件(即覆盖 FileRules 和
仅索引):

文件匹配路径名 \
FileMatch 目录名 - 如果有任何匹配,则接受文件
FileMatch 文件名 /

除此以外

IndexOnly - 检查文件的文件扩展名是否正确

文件规则路径名 \
FileRules dirname - 如果有匹配项,文件将被拒绝
文件规则文件名 /

最后,文件被索引。

用“IndexDir”或“-i”列出的文件(不是目录)以类似的方式处理:

文件匹配路径名 \
FileMatch 目录名 - 如果有任何匹配,则接受文件
FileMatch 文件名 /

否则,如果文件没有正确的扩展名或
文件规则匹配。

IndexOnly - 检查文件的文件扩展名是否正确

文件规则路径名 \
FileRules dirname - 如果有匹配项,文件将被拒绝
文件规则文件名 /

注意:如果事情没有按照您的预期编制索引,请创建一个包含一些测试的目录
文件并使用“-T regex”跟踪选项查看如何检查文件名。 开始
用非常简单的测试!

指令 HPMC胶囊 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 HTTP Access 付款方式 只有

索引时通过“-S http”开关启用 HTTP 访问方法。 它的工作原理
运行名为 SwishSpider 的 Perl 程序,该程序从 Web 服务器获取文档。

只有文本文件(内容类型为“text/*”)使用 HTTP 访问方法建立索引。 其他
文档类型(例如 PDF 或 MSWord)也可以被索引。 SwishSpider 将尝试
使用 SWISH::Filter 模块(包含在 Swish-e 发行版中)
将文档转换为 Swish-e 可以索引的格式。

注意: -S prog 爬取方法(使用 spider.pl)可以替代 -S
http 方法。 它提供了更多的配置选项和更好的抓取速度。

当使用索引的 HTTP 访问方法时,以下这些指令可用。

MaxDepth *整数*
MaxDepth 定义了蜘蛛在停止之前应该遵循的链接数。 一个值
0 配置蜘蛛遍历所有链接。 默认值为 MaxDepth 0。

最大深度 5

注意:默认值在 5 版本中从 0 更改为 2.4.0

延迟*秒*
在向服务器发出请求之间等待的秒数。 这个设置
允许对远程站点进行更友好的抓取。 默认值为 5 秒。

延迟 1

注意:默认值在 60 版中从 5 秒更改为 2.4.0 秒

TmpDir *路径*
系统上可写临时目录的位置。 HTTP访问方式
告诉 Perl 助手把它的文件放在这个位置,“-e”开关导致
Swish-e 在索引时使用这个目录。 没有默认值。

TmpDir /tmp/沙沙

如果此目录不存在或不可写 Swish-e 将失败并报错
在索引期间。

请注意,“TMPDIR”、“TMP”和“TEMP”(按此顺序)的环境变量将
覆盖 此设置。

蜘蛛目录*路径*
Perl 帮助程序脚本的位置 旋风蜘蛛. 如果你使用亲戚
目录,当你运行 Swish-e 时它是相对于你的目录,而不是目录
Swish-e 所在的位置。默认是安装 swishspider 的位置。 一般
这不需要设置。

蜘蛛目录 /usr/local/swish

EquivalentServer *服务器别名*
很多时候,同一个站点可能用不同的名称来指代。 一个常见的例子是
经常 http://www.some-server.comhttp://some-server.com 是相同的。 每个
行应该包含所有应该被视为等效的方法/名称的列表。
可以使用多个 EquivalentServer 指令。 每个指令定义自己的集合
等价的服务器。

等效服务器 http://library.berkeley.edu http://www.lib.berkeley.edu
等效服务器 http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu

指令 HPMC胶囊 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 PROG Access 付款方式 只有

本节详细介绍了仅适用于“prog”文档源的指令
Swish-e 的特点。 “prog”访问方法运行一个“馈送”外部程序
文件到 Swish-e。 这允许对来自任何来源的文档进行索引和过滤。

有关更多信息,请参阅 SWISH-RUN 手册页中的 prog - 通用访问方法。

中提供了许多与“prog”访问方法一起使用的示例程序
progbin 目录。 如果您对实施一个问题有任何疑问,请参阅这些示例
“编”输入程序。

SwishProgParameters *参数列表*
这是运行时将发送到外部程序的参数列表
使用“prog”文档源方法。

SwishProgParameters /path/to/config 你好
索引目录 /path/to/program.pl

然后运行:

swish -e -c 配置 -S prog

Swish-e 将执行“/path/to/program.pl”并将“/path/to/config hello there”作为
程序的三个命令行参数。 这个指令很容易通过
从 Swish-e 配置文件到外部程序的设置。

例如,“spider.pl”程序(包含在“prog-bin”目录中)使用
“SwishProgParameters”指定读取哪个文件以获取配置信息。

SwishProgParameters Spider.config
索引目录 ./spider.pl

“spider.pl”程序还有一个默认操作,因此您可以避免使用
配置文件:

SwishProgParameters 默认 http://www.swishe.org/ http://some.other.site/
索引目录 ./spider.pl

蜘蛛程序将使用默认设置来抓取这些站点。

Swish-e 可以从标准输入读取文档,因此另一种运行外部
带参数的程序是:

./spider.pl spider.conf 获得 ./swish-e -S prog -i stdin

笔记 ,尤其是 运用 MS Windows

您应该使用 unix 样式的路径分隔符来指定您的外部程序。 嗖嗖嗖嗖
在调用外部程序之前将正斜杠转换为反斜杠。 这只是
对于使用“IndexDir”或“-i”命令行选项指定的程序名称为真。

此外,Swish-e 将确保指定的程序确实存在,这意味着您
需要使用程序的全名。

比如运行perl蜘蛛程序 蜘蛛.pl 你需要一个 Swish-e
配置文件如:

索引目录:/perl/bin/perl.exe
SwishProgParameters prog-bin/spider.pl 默认 http://swish-e.org

并使用以下命令运行索引:

swish-e -c swish.cfg -S prog -v 9

“IndexDir”命令告诉 Swish-e 要运行的程序的名称。 在unix下你可以
只需指定脚本的名称,因为 unix 会从第一个开始找出程序
脚本行。

“SwishProgParameters”是传递给“IndexDir”指定的程序的参数
(在这种情况下是 perl.exe)。 第一个参数是要运行的 perl 脚本
(prog-bin/spider.pl)。 Perl 将其余参数直接传递给 perl 脚本。
第二个参数 默认 讲述了 蜘蛛.pl 使用默认设置的程序
蜘蛛(或者你可以指定一个蜘蛛配置文件——参见“perldoc spider.pl”了解
详细信息),最后将 URL 传递给蜘蛛程序。

文件 筛选 指令

在内部,Swish-e 知道如何仅解析文本、HTML 和 XML 文档。 带有“过滤器”
您可以索引其他类型的文档。 例如,如果您的所有网页都在 gzip 中
格式化过滤器可以动态解压缩这些以进行索引。

在继续此处之前,您可能希望阅读有关过滤的 Swish-e 常见问题解答。 怎么办
我过滤文件?

有两种建议的过滤方法。

过滤 - SWISH::过滤器

Swish-e 发行版包括一个名为 SWISH::Filter 的 Perl 模块和个人
过滤器位于 过滤器 目录。 该系统使用插件过滤器来扩展
Swish-e 可以索引的文档类型。 插件过滤器实际上并没有做
过滤,而是提供一个标准接口来访问可以过滤的程序
或转换文件。 进行过滤的程序不是 Swish-e 的一部分
分配; 它们必须单独下载和安装。

这种方法的优点是可以轻松安装新的过滤方法。

该系统旨在与 -S http 和 -prog 方法一起使用,但也可以使用
使用“FileFilter”功能和 -S fs 索引方法。 看
$prefix/share/doc/swish-e/examples/filter-bin/swish_filter.pl 举个例子。

查看 过滤器/自述文件 文件以获取更多信息。

过滤 - 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 文件过滤器 特集

过滤器是 Swish-e 在处理文档时执行的外部程序
给定类型。 Swish-e 会为每个匹配文件的文件执行过滤程序
后缀(扩展名)设置在 文件过滤器 or 文件过滤器匹配 指令。 文件过滤器匹配
使用正则表达式匹配,如下所述。

过滤器可用于任何类型的输入法(即 -S fs、-S http 或 -S prog)。 但
因为

Swish-e 调用外部程序作为 默认 参数:

$0 过滤程序的名称

$1 要读取的文件的物理路径名。 这可能是一个临时文件位置,如果
通过 http 方法索引。

$2 在文件系统下建立索引时,这将与 $1 相同(指向文件系统的路径)
源文件),但是在 http 方法下索引时,这将是
源文件。

Swish-e 还可以将其他参数传递给过滤程序。 这些参数可以
使用定义 文件过滤器 or 文件过滤器匹配 指令。 请参阅下面的过滤器选项。

过滤器程序必须打开文件,处理其内容,然后通过以下方式将其返回给 Swish-e
打印到标准输出。

请注意,这可能会在索引过程中增加大量时间,如果您
外部程序是一个 perl 或 shell 脚本。 如果你有很多文件要过滤,你应该
考虑用 C 编写过滤器而不是 shell 或 perl 脚本,或者使用“prog”
访问方法以及 SWISH::Filter。

FilterDir *路径到目录*
已弃用。

这是存储过滤器程序的目录的路径。 Swish-e 外观
在这个目录中找到指定的过滤器 文件过滤器 指令。

如果可以在系统路径中找到过滤程序,则不需要此指令。
即使您的过滤器不在系统路径中,您也可以指定完整路径
在 FileFilter 或 FileFilterMatch 指令中过滤。

计费示例:

FilterDir /usr/local/swish/过滤器

FileFilter *suffix* "filter-prog" ["filter-options"]
这将文件后缀(扩展名)映射到过滤器程序。 如果 过滤程序 以一个开始
目录分隔符(绝对路径),Swish-e 不使用 FilterDir 设置,但是
使用给定的 过滤程序 直接路径。

在有工作的系统上 (2) 系统调用过滤程序的运行方式
分叉 swish 然后执行过滤器。 这意味着 shell 不用于运行
过滤器和没有参数通过外壳。

在其他系统(例如 Windows)上,参数是双引号的,并且 en(3) 使用
运行程序。 这确实通过外壳传递参数,并且可能是一种安全性
关注取决于外壳的能力。

过滤选项:

过滤器选项是作为参数传递给 过滤程序. 过滤选项
可以包含变量,替换为 Swish-e。 如果省略 过滤选项 Swish-e 会
对上面列出的选项使用默认参数。

默认值:%p %P
这意味着:通过“工作文件路径”和“文档文件路径”进行过滤。

过滤器选项中的变量:

%% = %
%P = 完整文档路径名(例如 URL 或文件系统上的路径)
%p = 工作文件的完整路径名(可能是 tmpfile 或文件系统上的真实文档路径)
%F = 从完整文档路径名中删除的文件名
%f = 从“工作”路径名中删除的文件名
%D = 从完整文档路径名中删除的目录名
%d = 从完整的“工作”路径名中删除的目录名

传递的字符串示例:

%P = 文档路径名: http://myserver/path1/mydoc.txt
%p = 工作路径名:/tmp/tmp.1234.mydoc.txt
%F = mydoc.txt
%f = tmp.1234.mydoc.txt
%D = http://myserver/path1
%d = / tmp目录

笔记 ,尤其是 运用 MS Windows

Windows 使用双引号来转义 shell 元字符,因此如果您需要使用
引号然后在整个选项字符串周围使用单引号。

FileFiler .mydoc mydocfilter.exe '--title“带空格的文本”'

您可以使用正斜杠(unix 样式)指定过滤器程序。 嗖嗖嗖嗖
在运行程序之前将斜杠转换为反斜杠。

FileFilter .mydoc c:/some/path/mydocfilter.exe '-d "%d" -example -url "%P" "%f"'

过滤器示例:

FileFilter .doc /usr/local/bin/catdoc "-s8859-1 -d8859-1 %p"
FileFilter .pdf pdftotext "%p -"
FileFilter .html.gz gzip "-c %p"
FileFilter .mydoc "/some/path/mydocfilter" "-d %d -example -url %P %f"

上面的例子正在运行一个 二进制 过滤程序。 对于更复杂的
过滤需求您可以使用脚本语言,例如 Perl 或 shell 脚本。
下面是调用 shell 和 perl 脚本的一些示例:

文件过滤器 .pdf pdf2html.sh
文件过滤器 .ps ghostscript-filter.pl

使用脚本语言(或任何启动成本高的语言)可以 非常
提高 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 索引 . 对于小型索引作业,这可能不是问题,但是
对于需要由脚本语言处理的大量文件,您可以
使用“-S prog”访问方法可能会更好,其中脚本只会
编译一次,而不是为每个文件编译一次。

过滤器可能比“-S prog”程序更容易编写。 你决定的
使用取决于您的要求。 过滤器脚本的例子可以在
过滤箱 目录,“-S prog”程序的例子可以在 progbin
目录。

FileFilterMatch *过滤器编程* *过滤器选项* *正则表达式* [*正则表达式* ...]
这类似于“FileMatch”,除了使用正则表达式匹配
文件名。 *filter-prog* 是程序的路径。 与“FileFilter”不同的是
而不去 使用“FilterDir”选项。 也不同于“FileFilter”你 必须 指定
*过滤器选项*。

例子:

FileFilterMatch ./pdftotext "%p -" /\.pdf$/

请注意,它还会匹配一个名为“.pdf”的文件,因此您可能想要使用
需要一个不仅仅是扩展名的文件名。 例如:

FileFilterMatch ./pdftotext "%p -" /.\.pdf$/

要指定多个扩展名:

FileFilterMatch ./check_title.pl "%p" /\.html$/ /\.htm$/

或者有几种方法可以做同样的事情:

FileFilterMatch ./check_title.pl %p /\.(html允许html)$/
FileFilterMatch ./check_title.pl %p /\.html?$/

并忽略大小写:

FileFilterMatch ./check_title.pl %p /\.html?$/i

你也可以在表达式前加上“not”来否定正则表达式
跟随。 例如,要匹配没有扩展名的文件:

FileFilterMatch ./convert "%p %P" 不是 /\..+$/

文件 资料


$Id:SWISH-CONFIG.pod 1846 2006-10-20 20:18:30Z whmoseley $

.

使用 onworks.net 服务在线使用 SWISH-CONFIG


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。