全文搜索维护

维护全文搜索包含临时任务,例如,修复问题记录、清除操作日志文件、优化索引、调整 Solr 性能和更新配置以适应模式更改。

修复问题记录

有时,当记录抽取程序以批处理或更新方式运行时,可能无法处理记录。当发生此情况时,记录抽取程序将创建与故障记录对应的修复文件。修复文件写入 ClearQuest 搜索属性文件 CQ-db_name-dbset_name.xml 所在的目录中,通常是 Solr 主目录。监视此目录以检查故障实例的处理,并以修复方式使用记录抽取程序来处理问题记录。请参阅 cqtsdbcrawler 参考帮助获取使用信息。

清除操作日志

缺省情况下,在用户数据库中不会发生操作日志(oplg)清除。当您实施 oplog 清理策略以最小化浪费的空间时,请谨慎操作以避免过早除去 oplog。Oplog 应保留足够长的时间以使更新方式的记录抽取程序能够处理。如果更新方式的记录抽取程序长时间未运行,那么当其恢复运行时,将从还未处理的最早的更新 oplog 开始处理。

如果正在运行 ClearQuest MultiSite,那么全文搜索 oplog 清理策略不应该比现有的 ClearQuest MultiSite oplog 清理策略更为激进。

请参阅有关 oplog 清理的 ClearQuest Multisite 帮助获取详细信息。

返回顶部

优化索引

随着时间流逝,不断有新的 ClearQuest 记录被添加、修改和删除,Lucene 索引也越来越杂乱,从而降低性能。

要优化索引,请完成以下步骤:
  1. 将目录切换到 ClearQuest 主目录。
  2. 在命令提示符处,以优化方式运行记录抽取程序:
    cqperl cqtsdbcrawler.pl -optimize CQ-db_name-dbset_name.xml -site site_name

如果不运行 ClearQuest MultiSite,可以省略 -site 选项。 请参阅 cqtsdbcrawler 参考帮助获取使用信息。

返回顶部

调整 Solr 性能

Solr 搜索引擎不应阻碍 ClearQuest 性能。但是,如果您怀疑它会阻碍性能,那么可以先尝试优化 Lucene 索引,如上一节中所探讨的。也可以考虑以下方式来优化 Solr 性能:

  • 增加 Java 虚拟机(JVM)的内存分配。 可以分配 Xms512M 和 Xmx1024M 来代替使用缺省内存分配启动 Solr。

    请注意,当您以批处理方式运行记录抽取程序然后复位时,可能需要临时提高 JVM 内存分配。

  • 将 Solr 主目录移至第二个高速硬盘。 搜索引擎占用硬盘、处理器和内存资源,尤其当您具有非常大的索引时。通过将 Solr 主目录移至具有 10,000 转/分钟的第二个高速硬盘以进行快速寻找,Solr 性能与使用标准的 5400 转/分钟硬盘相比有明显的改进。即便使用从操作系统分区分离出来的分区也能够改进性能。
  • 提高服务器的物理内存、处理器数目和时钟速度。
  • 调整 Solr 配置文件 solrconfig.xml 中的性能设置。 请参阅 Solr web 站点获取详细信息。
  • 减少要进行索引的记录类型和相关字段的数目。
  • 在专用服务器上安装 Solr。
  • 启用 Solr 主从配置。 该配置所消耗的磁盘空间是 Lucene 索引缺省配置的两倍,但能提供可靠的性能,即使在索引处造成了繁重的需求量时亦如此。
  • 请参考 Solr Web 站点获取其他性能调整技巧。

返回顶部

适应模式更改

对数据库模式的更改通常需要对搜索模式做出相应更改。 示例如下:
  • 添加新实体。 如果新实体是您希望通过使用 ClearQuest 全文搜索使其变为可搜索内容的可提交记录类型,那么您必须更新 ClearQuest 搜索属性文件 CQ-db_name-dbset_name.xml 以及 Solr 模式文件 schema.xml,以解释新的记录类型。要完成此操作,请重复先前执行的以下步骤:
    1. 创建和编辑实体文件。
    2. 创建和编辑 ClearQuest 搜索属性文件。
    3. 创建 Solr 搜索文件。
    4. 通过更新 Solr 模式文件 schema.xml 然后重新启动 Solr,以配置要对哪些记录进行索引。
    5. 运行 installutil setmasterpropertyfromfile 子命令,以将 ClearQuest 搜索属性文件 CQ-db_name-dbset_name.xml 上载至用户数据库内。

    更新方式记录抽取程序将在下次进行索引时使用更新的 ClearQuest 搜索属性文件。

  • 向实体添加字段。 如果您向可提交记录类型的实体添加一个新的字段,且希望对该字段进行索引,那么请遵循刚才概括的添加新实体的相同过程。
  • 重命名实体。 如果您对 ClearQuest 模式中的实体进行重命名,请遵循刚才概括的添加新实体的相同过程。 此外,还需要执行以下步骤:
    1. 再次对重命名的记录类型进行索引:
      1. 新建 ClearQuest 搜索属性文件,使其仅包含重命名的记录类型。
      2. 以批处理方式运行记录抽取程序(cqperl cqtsdbcrawler.pl -batch)。
    2. 通过发出以下 Solr 命令删除属于旧实体名称的所有记录类型:
      在 Windows 上:
      1. cd %SOLR_HOME%\yourSchemaName\Solr\exampledocs\
      2. java -Ddata=args -jar post.jar "<delete><query>record_type:recordTypeName</query></delete>"
      在 UNIX 系统和 Linux 上:
      1. cd $SOLR_HOME/yourSchemaName/Solr/exampledocs/
      2. java -Ddata=args -jar post.jar "<delete><query>record_type:record_type</query></delete>"
  • 重命名实体的字段。如果您对 ClearQuest 模式中的实体字段进行重命名,请遵循刚才概括的重命名实体的相同过程。

返回顶部

相关任务
建立索引位置
创建和配置实体文件
创建和配置 ClearQuest 搜索属性文件
创建 Solr 搜索文件
配置 Solr 的字段以进行索引
相关参考
cqtsdbcrawler.pl
setmasterpropertyfromfile
scruboplog

反馈