PostgreSQL 9.6.0 文档 | |||
---|---|---|---|
Prev | Up | Chapter 12. 全文搜索 | Next |
使用tsearch2模块进行文本搜索的应用将需要一些调整来适应内建的特性:
某些函数必须被重命名或者对其参数列表做小调整,并且它们现在都在pg_catalog模式中,而在一个以前的安装中它们会出现在public或者另一个非系统模式中。有一个tsearch2的新版本可以提供一个兼容性层来解决这个领域内的大部分问题。
老的tsearch2函数和其他对象在载入来自一个 8.3 以前数据库的pg_dump输出时必须被抑制。虽然它们中的许多无论怎样也不会载入,但是确有一部分会被载入然后导致问题。解决这个问题的一个简单方法是在恢复该转储之前载入新的tsearch2模块;然后它会阻止老的对象被载入。
文本搜索配置建立现在完全不同了。不同于手工将行插入到配置表中,搜索可以通过本章早前展示的特制 SQL 命令来配置。没有自动化的支持来将用于 8.3 的现有自定义配置转换成新版本的配置;这里就得靠你自己了。
大部分词典类型依赖于某些数据库外部的配置文件。这些大多和 8.3 之前的用法兼容,但是注意下列不同:
配置文件现在必须被放置在一个单一指定的目录($SHAREDIR/tsearch_data)中,并且必须有一个与其文件类型相关的特定扩展,如之前对多种词典类型的描述所示。这个限制是为了防止安全性问题而加入的。
配置文件必须以 UTF-8 编码,不管数据库使用何种编码。
在分类词典配置文件中,停用词必须被使用?标记。