最近帮助同事处理了一个关于全文检索的问题,随手记录下来供以后参考。
问题一 某些Cabinet下的文件可以全文检索到,但某些Cabinet下的数据全文检索不成功。
新建了一个Docbase-AADCTM,并且安装配置了对应的Index Service和Index Agent。
1、首先在xplore Administrator中上传本地文件并进行测试,在Test Search的检索结果中可以看到之前上传的数据。
2、回到DA操作界面,手动import一份dm_document的文档到AADCTM文档柜下。文件上传成功后,在Administrator管理界面下的Index Queue可以看到此文档在Awaiting Index状态。
3、Index索引创建完毕后,在左上角的快速检索中搜索对应关键字,可以查看到刚才上传的文件。
4、同样步骤,Import一份新的文件到Temp文件柜下,创建全文索引后。在xplore的dmsearch和DA中都检索不到此文件的信息。无法查找到对应文件。
解决方法:
1、经过查找发现,index Agent自带了一个filter过滤器,会对某些指定类型、文件夹、文件柜进行过滤,这些对象对应的内容不创建索引。
2、修改Index Agent中的过滤器。步骤如下:
1)登录http://192.168.1.XX:9200/IndexAgent/login_dss.jsp 管理界面;
2)选择第一项 Check or update filter settings
3)点击‘submit’,可以看到系统中已有过滤器设置。在‘Cabinets To Exclude’中可以看到所有被过滤掉的文件柜,这些文件柜下的内容,全文索引引擎不会创建对应的索引。
4)勾选'update Filters',在‘Remove Cabinet(s)'下输入要去掉的文件柜,这里输入Temp,意味着希望将Temp文件柜中的数据纳入全文索引范围。
5)设置完毕,点击’Save Filter Change'对修改结果进行保存。系统提示用户,修改后需要重启Index服务。
3、过滤器修改完毕,重新启动Index服务。启动文件路径在xplore服务器上的c:\xPlore\jboss7.1.1\server路径下。
终止服务时,依次执行stopIndexAgent.cmd和StopPrimaryDsearch.cmd,启动时依次启动StartPrimaryDsearch.cmd和startIndexAgent.cmd即可。
4、登录到IndexAgent管理页面,选择reindex操作,重新创建索引。
5、索引创建完毕,再次在快速检索中查询,可以看到Temp和AADCTM文件柜下的相关文件。
问题二 全文检索时如何指定某几种Type进行检索。
比如说:全文检索时只需要检索list_doc\fina_doc\dm_document这几种类型的数据,因为这些数据并未指定父类型,一时很纠结。忘记了一件重要的事情。
同行给了一个简单实用的方法。
很简单,指定类型为dm_sysobject,这是所有对象的父类型,然后在条件中选择Type,将希望查找的范围作为类型输入进去
执行Search时,全文检索引擎自动过滤对应的条件,结果仅限于所需要的几种类型了。