当前位置: 首页 > Linux学院 > 企业应用 > 服务器应用 > Content Manager OnDemand提供的智能全文检索的新特性

Content Manager OnDemand提供的智能全文检索的新特性

2014-08-08 15:34 来源:IBM 作者:王贝贝 人气指数: 我要评论

Content Manager OnDemand 的客户不仅可以搜索文档关联的元数据,并且在 V9.0 版本之后,可以通过 Content Manager OnDemand 提供的智能全文检索(FTS)的新特性,能够对归档数据的内容部分进行智慧的全文检索。

全 文检索(FTS)新特性以新服务器的方式发布,通过全文检索引擎实现文档的抽取解析,建立用于全文检索的索引和内容搜索。这样的好处是可以将全文数据转移 到 OnDemand 库服务器和对象服务器之外的其它机器上进行处理。除了可以处理常规的 Advanced Function Printing(AFP),行数据和 PDF 文档,该引擎还可以处理许多其它类型的二进制格式文件,包括 Microsoft Office 和 XML 文件等等。全文检索(FTS)支持对新数据的索引,也支持对既有数据的索引。从管理客户端既可以设置对新装载数据自动的进行全文检索操作,而对于历史数据 则需要通过命令行或者 ODWEK API 进行操作。同时在内容搜索上提供了更多高级搜索的选项。客户可以使用通配符搜索,模糊搜索,近似度搜索和布尔搜索等组合。

与之配合的新组件 FTS Exporter 是包含在 OnDemand 服务器中,负责处理所有对全文检索(FTS)服务器的更新操作。

Content Manger OnDemand 全文检索的组件架构

Content Manger OnDemand 全文检索的组件架构参考下图。

图 1. 全文检索组件架构


Content Manager OnDemand提供的智能全文检索的新特性

这些组件包括 Content Manager OnDemand 服务器,全文检索(FTS)服务器以及 FTS Exporter 组件。

全文检索(FTS)服务器

全 文检索(FTS)服务器提供了全文检索的流水线服务,从各类主流的二进制格式文件中进行文本抽取,提供大范围的编码支持及多语言支持。在典型的服务器配置 中,文档内容和属性从 OnDemand 服务器传送到全文检索(FTS)服务器进行预处理。预处理包括文本抽取,语言识别,标记化和语言分析。在预处理结束后,文档被送去做索引。

全文检索(FTS)服务器的文本抽取引擎可以处理不同类型的文档类型,包括 Microsoft Office 和 XML 格式等。注意 AFP 和行数据的文本抽取是在 FTS Exporter 组件中处理的。对于图像类的文件不支持全文检索。

索引结构

在 全文检索(FTS)服务器将建立用于全文检索的索引,并以逻辑组的形式进行分段,称之为 Collection。分段模型类似于 Ondemand 服务器的数据表分段。对于 OnDemand 服务器中的每张数据表,在全文检索(FTS)服务器中索引后,将建立其对应的 Collection。也就是说,全文检索(FTS)服务器中的 Collection 和 OnDemand 服务器中的数据表是 1:1 的关系。

图 2. OnDemand 分段表和 FTS Collection 的映射关系


Content Manager OnDemand提供的智能全文检索的新特性

Collection 的命名规范是 InstanceName_TableName,这样的好处是有较好的水平扩展性。例如,当用户在进行全文检索的同时指定了日期范围,则将引用 OnDemand 的分段表,来缩小被查询文档的范围,并确定哪些 Collection 才是必需的。

FTS Exporter

在 OnDemand 数据库中引入了新的数据表 arsftiwork,用于维护全文检索的工作记录。即每当某个文档需要为全文检索建立索引时或其它更新操作时,在 arsftiwork 数据表中将会新建一条记录。在应用程序组启用全文检索后,新装载的数据将触发 arsftiwork 数据表。同样的,当用命令行对既有数据做全文检索建立索引时,也将触发 arsftiwork 数据表。

FTS Exporter 连接到 arsftiwork 数据表,并处理表中的工作记录。首先将记录关联的文档从 OnDemand 服务器检索出来,然后再推送到全文检索(FTS)服务器。FTS Exporter 处理所有与全文检索索引相关的新增、更新和删除任务。

FTS Exporter 组件位于 OnDemand 服务器安装路径下的 jars 子目录,名称 ODFTIExporter.jar 的 Java 应用。FTS Exporter 组件可以在 OnDemand 服务器所在的系统上运行,也可以在其它 TCP/IP 连通的系统上运行。

Content Manager OnDemand 全文检索配置方法

安装需求

OnDemand 全文检索工具是有单独的安装,并且也是单独付费的功能。本文以版本 Content Manager OnDemand(以下简写为 CMOD)9.0 为例,先介绍全检索服务器的安装需求。

全文检索服务器支持如下操作平台,

  • AIX
  • SUSE Linux ES
  • RedHat Enterprise Linux
  • Solaris
  • Solaris

全文检索的最小运行硬件需求:

  • 1 处理器
  • 2G 内存
  • 磁盘空间

实际上磁盘空间,处理器和内存的需求主要影响因素:

  1. 全文检索服务器的集合数量以及每个集合里的文档数量
  2. 并发索引的处理的集合数量
  3. 索引查询吞吐量要求


安装步骤和方法

全文检索服务器可以和 OnDemand 服务器安装装载同一台物理机器,也可根据实际的负载均衡,安装在单独的物理机器上。本文的描述的是一体机(All in One)的安装方法。

首先将安装文件拷贝到 OnDemand 全文检索服务器上。

操作系统 安装软件名称
AIX odftsaix.bin
SunOS odftssun.bin
Linux odftslinux.bin
zLinux Odftszlinux390.bin
Windows odftswin.exe

然后运行安装文件。

./安装文件名称 –i console

比如在 AIX 操作系统安装命令:./odftsaix.bin –i console

配置与管理

配置管理分为两部分,第一部分是 CMOD 服务器端的配置管理,主要是更新配置文件和通过 Windows 管理端接口进行设置;第二部分是全文检索服务器端的配置管理。

CMOD 服务器端的配置管理

  • 首先配置 CMOD 服务器的配置参数,使其支持全文检索功能。

以 AIX 平台为例,编辑 ars.cfg 文件,添加配置参数:

ARS_SUPPORT_FULL_TEXT_INDEX=1

备注:如果是 SunOS, 还要添加参数 ARS_FULL_TEXT_INDEX_TOKEN=fIqBxTQ= 作为全文检索服务器和 CMOD 服务器的通信令牌。

Windows 管理端接口配置

  • 应用程序组

    在应用程序组的配置中,启用全文检索选项,同时配置全文检索服务的地址和端口。

    图 3. 管理端配置

    Content Manager OnDemand提供的智能全文检索的新特性

    在应用程序组配置中,增加全文检索字段。

    在图 4 的应用程序组字段定义窗口,添加全文检索字段名,定义全文检索的字段为 fti。

    图 4. 应用程序组全文检索字段

    Content Manager OnDemand提供的智能全文检索的新特性

    在图 5 的字段信息定义窗口,定义该字段的属性。

    图 5. 应用程序组全文检索字段属性

    Content Manager OnDemand提供的智能全文检索的新特性

    在图 6 的权限属性页,设置相关的用户有全文检索的权限,例如 testuid 用户有全文检索的权限。

    图 6. 设置用户权限

    Content Manager OnDemand提供的智能全文检索的新特性
  • 文件夹

    文件夹是最终用户检索文档的界面,配置全文检索字段。用户可以通过检索界面进行全文检索,罗列出检索结果。有四种文件夹字段类型。

    • 全文检索字段 – Full Text Index Search,这是必须选的字段。通过这个字段,用户输入要全文检索的内容,进行检索查询。

      图 7. 文件夹全文检索字段 Full Index TextSearch

      Content Manager OnDemand提供的智能全文检索的新特性
    • 全文检索分值 – Full Text Index Score,这是可选字段。通过这个字段的返回结果,可以了解全文检索的匹配度。

      图 8. 文件夹全文检索字段 Full Index Score

      Content Manager OnDemand提供的智能全文检索的新特性
    • 全文检索高亮 – Full Text Index Highlight,可选字段。通过该字段的返回的结果,可以看到匹配结果的上下文信息。

      图 9. 文件夹全文检索字段 Full Index Highlight

      Content Manager OnDemand提供的智能全文检索的新特性
    • 全文检索摘要 – Full Text Index Summary,可选字段。通过该字段返回的结果,可以看到检索到的文档前 80 个字的内容。

      图 10. 文件夹全文检索字段 Full Index Summary

      Content Manager OnDemand提供的智能全文检索的新特性

FTS 全文检索服务器的配置与管理

全文检索服务器安装好之后,如果紧紧演示或者测试使用,缺省配置不用做改动,直接启动服务即可。

下面是在 AIX 平台上启动 FTS 的示例:

# cd /opt/IBM/odfts/V9.0/bin

# ./startup.sh
IQQG0337I The server [version: 2.0.0.0-1.1-2593] started
 successfully. The server is listening on port 8191.
#

终止 FTS 全文检索服务:

# cd /opt/IBM/odfts/V9.0/bin

# ./shutdown.sh 
IQQG0088I The shutdown request is being sent: localhost:8191.
IQQG0089I The shutdown request was sent successfully with a response code of 200.
IQQG0025I Shutdown is complete.

接着我们介绍另外两个管理命令行。

adminTool – 管理工具主要是管理集合(collection), 跟踪日志配置以及服务器的配置。

# ./adminTool.sh

Usage:
 adminTool admin_command [-configPath value] [-locale value]
  [-collectionName value] [-collectionPath value] [-logLevel value]

 Where:
 admin_command:
 delete: Deletes the specified collection
 optimizeIndex: Optimizes the specified collection for fast search
 optimizeIndexStatus: Prints the optimization status
 status: Prints the status of all collections
 version: Prints the version number of the search server
supportedClientVersions: Prints the list of supported client versions
 configureTrace: Sets the search server trace to different log levels
 printLogLevel: Prints the current search server log level setting
 help: Prints this help message

 -configPath value
 The fully qualified path to the configuration directory, such as 
 /opt/ibm/search/config.
 -locale value
 The 2- or 5-character locale code, such as en, de, or zh_TW. If
 omitted, the server locale is used (optional).
 -collectionName value
 The name of collection that you want to delete or obtain status 
 information about.
 -collectionPath value
 The full path to the directory where collections are stored (optional).
 -logLevel value
 The supported log levels are OFF SEVERE WARNING INFO CONFIG 
 FINE FINER FINEST ALL

 Example to delete the Default collection:
 adminTool delete -configPath /opt/ibm/search/config -collectionName Default

 Example to print the status of all collections using the French locale:
 adminTool status -configPath c:\Program Files\IBM\Search\config 
 -locale fr_FR

configTool – 用户管理配置系统参数

# ./configTool.sh
Usage:
 configTool <command> [-command_options] [-locale value] 
 [-configPath value]

 command:

 list: Prints information about configuration parameters and their values.
 set: Specifies system-level or collection-level parameter values.
 generateToken: Generates a token for communicating with the server.
 upgradeConfigFolder: Upgrades the server configuration.

 For help on these commands and their command options, enter:
 configTool <command>

 printToken: Prints the current token.
 sysinfo: Prints system information, including:
 build version, operating system, and JAR manifest version
 help: Prints this help message.

 -locale value
 The 2- or 5-character locale code, such as en, de, or zh_TW. 
 If omitted, the en locale is used. (optional)

 -configPath value
 The fully qualified path to the configuration directory, such as
 /user/home/search/config.
 If omitted, the default directory (../config) is used. (optional)

启动 CMOD Exporter

Exporter 是一个 java 应用,与 CMOD 安装包一起安装在 CMOD 服务器目录下。

# cd /opt/IBM/ondemand/V9.0/jars
# ls -l
total 7088
-r--r--r-- 1 root system 165199 Jan 10 2013 ODFTIExporter.jar
-r--r--r-- 1 root system 575389 Jan 10 2013 commons-collections-3.2.1.jar
-r--r--r-- 1 root system 350332 Jan 10 2013 commons-configuration-1.7.jar
-r--r--r-- 1 root system 279193 Jan 10 2013 commons-lang-2.5.jar
-r--r--r-- 1 root system 315805 Jan 10 2013 commons-lang3-3.1.jar
-r--r--r-- 1 root system 60841 Jan 10 2013 commons-logging-1.1.1.jar
-r--r--r-- 1 root system 1861910 Jul 30 2012 ecmts.jar
-rw-r--r-- 1 root system 368 Nov 27 00:54 od1.cfg

该应用主要是将在 CMOD 服务器中定义好的需要全文检索的数据导入到全文检索服务器中,它起着桥梁的作用。

启动 Exporter 可以通过两种方式:

方式一,直接启动。

java –jar ODFTIExporter.jar index –dbEngine 
DB2 –dbHostname hostname1.com –dbPort 60000 
–dbUser admin –dbPassword testpasswd –dbName 
ARCHIVE –dbUser ROOT odInstance ARCHIVE –odUser
 admin –odPassword testpasswd –odInstallDir 
 /opt/IBM/ondemand/V9.0 –pollDelay 60

方式二,先使用 Exporter 应用创建配置文件,把参数写入配置文件,然后通过调用配置文件启动 Exporter.

java –jar ODFTIExporter.jar configure 
–configFile od1.cfg –dbEngine DB2 –dbHostname 
hostname1.com –dbPort 60000 –dbUser admin 
–dbPassword testpasswd –dbName ARCHIVE 
–dbUser ROOT odInstance ARCHIVE –odUser admin 
–odPassword testpasswd 
–odInstallDir /opt/IBM/ondemand/V9.0 –pollDelay 60
java –jar ODFTIExporter.jar index –configFile od1.cfg

对既有数据建立全文索引

通过 arsdoc 命令建立全文索引

可以使用 arsdoc 命令的 fti_add 参数来对既有数据建立全文索引。需要指定“-i”参数设置 SQL 语句的范围或是“-X”参数指定某次装载的 Load ID。

# arsdoc fti_add -f "FTS-bob16-Student Information3-test"
 -h ARCHIVE -i "where 1=1" -u testuid -v -G "FTS-bob16-Bills3"

ARS6108I Starting arsdoc.
ARS6165I arsdoc fti_add -f FTS-bob16-Student Information3-test 
-h ARCHIVE -i where 1=1 -u testuid -v -G FTS-bob16-Bills3
ARS6822I Attempting login for userid 'testuid' on server 'ARCHIVE' ...
ARS6080I Login successful
ARS6062I Searching for folder 'FTS-bob16-Student Information3-test' ...
ARS6084I Search successful
ARS6063I Searching for documents in 'FTS-bob16-Student Information3-test' ...
ARS6117I Querying database with SQL string 'where 1=1'
ARS6084I Search successful
ARS6152I Adding 40 documents to Full Text Index
ARS6150I Full Text Index add successful
ARS6026I arsdoc completed.

如果要删除相应的全文索引,可以使用 arsdoc 命令的 fti_release 参数。

通过 ODWEK 建立全文索引

可 以通过 ODWEK Java API 的 ODFolder.FTIAddHits() 方法新建全文索引,该方法的参数是通过 search() 方法得到的 ODHits 对象。而 ODHits 对应的文档将通过 FTS Exporter 发送来建立全文索引。

另一个方法 FTIReleaseHits() 用来从 FTS 服务器删除相关的全文索引。

更多信息请参考 IBM Content Manager OnDemand Web Enablement Kit Java APIs: The Basics and Beyond, SG24-7646。

全文检索结果展示与介绍

前面我们已经对 CMOD 服务器以及定义元素的配置 (比如应用程序组,文件夹等),我们先装在数据到启用全文检索的应用程序组。

# arsload -u testuid -h archive -g 
				FTS-bob16-Bills2 -X G -nvf FTS.2.FTS-bob16-Bills2.FTS-bob16-Bills2
ARS4315I Processing file >FTS.2.FTS-bob16-Bills2.FTS-bob16-Bills2<
ARS4334I Load Version <9.0.0.1e> Operating System <AIX> <7.1> OS
Userid <root> Install Location </opt/IBM/ondemand/V9.0/>
ARS4335I Server Version <9.0.0.1e> Operating System <AIX>
 <7.1> Database <DB2> <10.01.0000>
ARS4312I 01/02/14 03:53:13 -- Loading started, 76560 bytes to process
ARS1144I OnDemand Load Id = >5190-1-0-5FAA-19940826000000-19940826000000-5191<
ARS1146I Loaded 40 rows into the database
ARS1175I Document compression type used - OD77. Bytes Stored = >7522< Rows = >40<
ARS4310I 01/02/14 03:53:13 Loading completed
ARS4317I Processing successful for file >FTS.2.FTS-bob16-Bills2.FTS-bob16-Bills2<

由于应用程序组已经设置为自动进行全文索引,因此在数据装载时,文档将自动建立全文索引,并存储于 FTS 服务器中。

登陆 OnDemand 客户端后,打开相应的全文检索文件夹进行全文检索。例如,设置 Full Index TextSearch 字段为 55402,即检索出满足搜索条件的所有包含“55402”的文档。

图 11. 全文检索查询结果

Content Manager OnDemand提供的智能全文检索的新特性
为您推荐: 新特性 智能全文检索

其他相关的新闻

大家感兴趣的内容
小伙伴最爱的新闻
小伙伴还关注了以下信息
小伙伴关注的焦点

小伙伴都在关注的热门词

新服 缤纷活动 航海世纪 芈月传 暗黑道具 萌乐网 苹果发布会 最新谍照 三国令 剑雨江湖 怎样修炼战骑 页游 怎样修炼伙伴 木甲世界 仙侠道2 推黑科技 页游模式 武圣试炼场 街机玩法 蓝月传奇 个人BOSS玩法 哥们网 九阴绝学 仗剑出鞘 全新模式 范伟打天下 全新元神玩法 七大神兵简介 新手攻略 跑腿任务 门派五行 城战礼包 页游界 泥石流 傅园慧 经典网页游戏 耐玩 盘点 玉石攻略 提升角色 大黑 实装属性 神兵攻略 问鼎莽荒 莽荒纪 手持神兵 土豪梦 万世 开学清单 财富赚不停 天书世界 大黑游戏 资源战场 ppwan 天问 激战 全国大战 雄霸一方 新增宠物技能 绝对小能手 花千骨 三尾章鱼 风色轨迹 双枪手 弑之神 缤纷好礼 惊喜六重连 帮会 中秋福利 自制月饼 九阴真经 玩家 五周年纪念 纪念银币 名动三界 新服资料片 画江山 勇战妖魔 邪恶势力 上古降魔 老司机玩法 坐骑揭秘 黑科技 竞技场攻略 铁血皇城 披风玩法 书剑恩仇录 装备强化攻略 野外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 奇珍商城 热血战歌 传奇宝藏抽奖 打开方式 门徒 门徒获取玩法 三大萌宠简介