2013-08-20 48 views
1

Endeca MDEX Engine Advanced Development Guide (6.2.2 version)的第6章介紹瞭如何構建詞幹更新XML文件,以補充Endeca提供的默認詞幹術語詞典。Endeca - 應該在哪裏放置更新文件?

但是,文檔似乎沒有指定新的詞幹更新文件應該放在文件系統上的位置。

應該放在這個XML文件:

  • 在的Endeca/MDEX /版本/ conf目錄/文件夾制止?
  • 在endeca/MDEX/version/conf/stemming/custom文件夾中?
  • 在filesytem上的任意位置,然後在DataIngest.xml中的--stemming-updates標誌中將完全指定的路徑包含到Dgidx配置行中的XML文件中?

回答

2

經過一些試驗和錯誤,我得到了這個工作。

正確的方法似乎是將自定義詞幹更新XML文件的完整指定路徑作爲Dgidx的--stemming-updates參數的參數。

這裏是我的Endeca /應用/ MyAppen /配置/腳本的相關部分/ 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 

這種情況的解決方法是改變DOCTYPE行XML文件中的根標籤匹配,像這樣:

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

我已經打開了Oracle支持此(明顯)錯誤的票證。

+0

我想添加--threads選項。 如果從Endeca-workbench(Endeca-workbench - > EAC-Admin-Console)啓動組件,則通過添加 - 線程 ,不會受到影響。 但是,當索引由「/ atg/commerce/endeca/index/EndecaScriptService」觸發時,它直接調用了'Endeca Application Controller' –