1

Endeca MDEX 引擎高级开发指南(6.2.2 版)的第 6 章描述了如何构建词干更新 XML 文件以补充 Endeca 提供的默认词干词词典。

但是,文档似乎没有指定新的词干更新文件应该放在文件系统上的什么位置。

是否应该放置此 XML 文件:

  • 在 endeca/MDEX/version/conf/stemming 文件夹中?
  • 在 endeca/MDEX/version/conf/stemming/custom 文件夹中?
  • 文件系统上的任何位置,然后在 DataIngest.xml 中使用 --stemming-updates 标志在 Dgidx 配置行中包含 XML 文件的完全指定路径?
4

1 回答 1

3

经过一些试验和错误,我得到了这个工作。

正确的方法似乎是包含自定义词干更新 XML 文件的完全指定路径作为 Dgidx 的 --stemming-updates 参数的参数。

这是我的 endeca/apps/MyAppen/config/script/DataIngest.xml 的相关部分:

<dgidx id="Dgidx" host-id="ITLHost">
  ...
  <args>
    ...
    <arg>--stemming-updates</arg>
    <arg>/full/path/to/endeca/apps/MyAppen/config/script/stemmingExtension.en.xml</arg>
  </args>
</dgidx>

我发现 --stemming 更新和实际完全指定的路径需要在单独的 <arg> 标记中;如果您尝试将它们都放在由空格分隔的同一个 arg 标记中,则会发生错误。

可能存在一个特定文件夹,您可以在其中放置词干更新 XML 文件,而无需完全指定文件的路径,但我发现 endeca/MDEX/version/conf/stemming 和词干/conf 文件夹都不起作用为了这。当我尝试它时,我在 dgidx 日志中出现错误,例如:

ERROR   08/20/13 13:48:46.810 UTC (1377006526810)       DGIDX   {dgidx,baseline}        InputFileStream can't open file "stemmingExtension.en.xml" for reading        [err=`No such file or directory',errno=2]

我还发现 Endeca MDEX 引擎高级开发指南 6.2.2 版本中提供的示例 XML 中存在错误。该文档给出了 XML 文件的前两行:

<!DOCTYPE WORD_FORMS_COLLECTION SYSTEM "word_forms_collection_updates.dtd">
  <WORD_FORMS_COLLECTION_UPDATES>

这是不正确的。尝试使用此格式的文件时,dgidx 日志中出现此错误:

FATAL   08/20/13 13:56:33.533 UTC (1377006993533)       DGIDX   {dgidx,baseline}        Errors while parsing word forms updates from file "full/path/to/endeca/apps/MyAppen/config/script/stemmingExtension.en.xml": Errors while trying to parse config stream "full/path/to/endeca/apps/MyAppen/config/script/stemmingExtension.en.xml": Error at file full/path/to/endeca/apps/MPen/config/script/stemmingExtension.en.xml, line 2, column 31; Message: Root element different from DOCTYPE

解决此问题的方法是更改​​ XML 文件中的 DOCTYPE 行以匹配根标记,如下所示:

<!DOCTYPE WORD_FORMS_COLLECTION_UPDATES SYSTEM "word_forms_collection_updates.dtd">
  <WORD_FORMS_COLLECTION_UPDATES>

我已经为这个(明显的)错误打开了一张 Oracle 支持的票。

于 2013-08-20T14:20:16.590 回答