pycsw 的运行配置写为此格式 default.cfg
。 pycsw 还有一个示例配置 ( default-sample.cfg
)。 将文件复制到 default.cfg
并编辑以下内容:
[server]
en-CA
、fr-CA
、 EN-US
)ISO-8859-1
,见 https://docs.python.org/2/library/codecs.html#standard-encodings ) 。 默认值是 'UTF-8'maxRecords
参数大于 server.maxrecords
,此值就会被强制性限制。 请参见 最大记录处理 的详细信息true
or false
)来确认是否要优质打印。 默认值为 false
1
,最高是 9
。 默认值是不压缩list
和 range
(最小/最大)。默认值是 list
true
和 false
。默认值为 false
csw:ResponseHandler
参数true
或 false
),此排名参数在每 K.J. Lanfear 2006 文本对象空间搜索的一个空间覆盖排名方法 。[manager]
true
或 false
)。 默认值为否 (请参阅 事务 )[metadata:main]
temporal
, place
, theme
, stratum
author
, processor
, publisher
, custodian
, pointOfContact
, distributor
, user
, resourceProvider
, originator
, owner
, principalInvestigator
[repository]
records
)。如果您在使用除了 public
以外的DB模式PostgreSQL,表格就会被限定,像 myschema.table
注解
请参阅: 管理 ,用于连接您的元数据信息库和支持信息模型。
下面介绍的是 maxRecords
怎样处理 GetRecords
请求时的配置:
server.maxrecords | GetRecords.maxRecords | 结果 |
---|---|---|
未设定 | 未通过 | 10 (CSW 默认值) |
20 | 14 | 20 |
20 | 未通过 | 20 |
未设定 | 100 | 100 |
20 | 200 | 20 |
默认情况下,pycsw在运行时加载的是 default.cfg
。加载一个配置,修改``csw.py``来指定所需配置。另外,pycsw还可以通过附加 config=/path/to/default.cfg``到服务器的基础URL来显式定义一个配置,例如 ``http://localhost/pycsw/csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities
。当 config
参数通过CSW客户端时,pycsw就会覆盖默认的配置所在地址,并且用这些指定的配置来完成接下来的一系列设置。
使用单个pycsw配置就可以部署大量的功能性CSW。
在做基URL时,一些备用配置的部署不用 config=
方式做声明。通常状态下,会有很多别的方式来做声明。
有一种选择是使用 Apache 的 Alias
和 SetEnvIf
指令。 例如,可以指定基 URL http://localhost/pycsw/csw.py?config=foo.cfg
,在 Apache 的 httpd.conf
下配置以下指令:
Alias /pycsw/csw-foo.py /var/www/pycsw/csw.py
SetEnvIf Request_URI "/pycsw/csw-foo.py" PYCSW_CONFIG=/var/www/pycsw/csw-foo.cfg
注解
在更改 Httpd.conf
后必须重新启动 Apache
pycsw 将以同样的方式配置设置 PYCSW_CONFIG
的环境变量,就如同它在基 URL 中指定了一样。 请注意,配置值 server.url
值必须匹配 Request_URI
值,这样在 pycsw 的功能 XML 中就可以做正确声明了。
另一个选择是编写一个简单的包装器 (如 csw-foo.sh
),也会有相同的功能,而且无需重新启动 Apache 也可以部署:
#!/bin/sh
export PYCSW_CONFIG=/var/www/pycsw/csw-foo.cfg
/var/www/pycsw/csw.py