有个问题,就是我一个全文检索的SQL语句,在一个服务器上进行没有问题,但在另一个服务器上,就不能出现结果,这个不能出现结果的服务器上的数据 是通过IMP导入的.
ORACLE版本是10.2.0.4. 能够检索的服务器是10.2.0.1.
具体的SQL语句为:
Select * From tv_项目查询 Where contains(业务数据,'北苑')>0
不加条件,是有数据出来的.
全文索引也建立过了.就是不出现结果,有人遇到过吗
1) "业务数据" 字段 的类型为: SYS.XMLTYPE
2) CONTEXT索引是建立了的:
create index text_search_indextest on tv_项目查询(业务数据)
indextype is ctxsys.context
问题解决,主要为以前机器为WINDOWS机器,而新服务器为HPUX,安装的CONTEXT的语言默认为英文,删除CONTEXT,重新建立为中文即可.
具体为:
1.先删除CONTEXT
SQL> connect SYS/password as SYSDBA
SQL> spool text_deinstall.log
SQL> @?/ctx/admin/catnoctx.sql
SQL> drop procedure sys.validate_context;
SQL> spool
2.重新安装中文
A.创建文本字典
SQL> connect SYS/password as SYSDBA
SQL> spool text_install.txt
SQL> @?/ctx/admin/catctx.sql CTXSYS SYSAUX TEMP NOLOCK
B.安装语言参考
SQL> connect CTXSYS/password@tns_alias
SQL> @?/ctx/admin/defaults/drdefzhs.sql
SQL> spool off
为此,即可搞定.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13165828/viewspace-607763/ ,如需转载,请注明出处,否则将追究法律责任。