Endeca - 阻止更新文件应该放在哪里?

时间:2013-08-20 13:05:53

标签: endeca

Endeca MDEX Engine Advanced Development Guide (6.2.2 version)的第6章描述了如何构建词干更新XML文件,以补充Endeca提供的词干术语词典。

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

是否应放置此XML文件:

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

1 个答案:

答案 0 :(得分: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更新和实际完全指定的路径需要在单独的&lt; arg&gt;中。标签;如果您尝试将它们放在由空格分隔的同一个arg标记中,则会发生错误。

可能有一个特定的文件夹,您可以放置​​词干更新XML文件,而无需完全指定文件的路径,但我发现既不是endeca / MDEX / version / conf / stemming也不是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 Engine高级开发指南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支持这个(明显的)错误的票证。