IBM® Informix® Excalibur Text Search DataBlade® 模組 1.31 版

同義字清單

同義字清單是由一個 字根,以及一個以上意義和字根類似的字組組成。 當您不是很確切知道您要搜尋的文字內容時,同義字清單極為有用。

例如,假設您要搜尋 videos 表格的 description 直欄。 您知道 description 直欄中包含對影像的參照, 說明如何使用多媒體文件編輯器,但是您不確定其中是否一致地將編輯器說明為 多媒體 document 編輯器,或是說明為多媒體 text 編輯器。

若要執行此項搜尋,可以針對 documenttext 字組使用同義字清單項目。

若要指示搜尋引擎在執行搜尋時使用此字組清單, 請使用 MATCH_SYNONYM 調整參數,如下列範例所示:
SELECT id, description from videos
    WHERE etx_contains(description,
    Row('document', 'MATCH_SYNONYM = syn_list'));
您可以在資料庫中維護多個同義字清單。只要將 MATCH_SYNONYM 設為同義字清單的名稱,就可以指定您要搜尋引擎使用哪一個同義字清單。 例如,若要使 syn_list2 成為查詢 videos 表格時的作用中同義字清單,請執行下列陳述式:
SELECT id, description from videos
    WHERE etx_contains(description,
    Row('document', 'MATCH_SYNONYM = syn_list2'));
若要建立同義字清單時,首先建立一個作業系統檔案,其中包含字根以及一個以上的同義字, 且所有資料都位在同一行,並以空格區隔。 文字行必須以一個空白行區隔。例如,以下是用來建立同義字清單的潛在作業系統檔案摘錄:
quick speedy fast

monitor terminal CRT screen

在此範例中,quickmonitor 都是字根。字組必須呈現作為字根,才可以使用該字組的同義字。 這表示如果您要搜尋 speedy 的同義字, 就必須將 speedy 列出作為字根;而不能只是將其列出作為同義字清單中 quick 的一個同義字。

在建立同義字清單檔之後,請執行 etx_CreateSynWlst() 常式,讓 IBM® Informix® Excalibur Text Search DataBlade® 模組可識別此同義字清單檔。
重要: 在同義字檔案中的文字行之間,必須放置一個空白行。 如果省略空白行,DataBlade 模組並不會傳回錯誤,但是它會在同義字相符搜尋期間,永遠找不到任何同義字。
如果您在 etx_contains() 運算子中指定了 MATCH_SYNONYM 調整參數,但是卻沒有設定它的相等值,則 etx_contains() 會參照名稱為 etx_thesaurus 的預設同義字清單。 您可以從您自己的同義字清單中建立您自己的 etx_thesaurus 同義字清單,也可以根據 DataBlade 模組在下列位置所提供的標準英文同義字清單,來建立同義字清單:
$INFORMIXDIR/extend/ETX.version/wordlist/etx_thesaurus.txt
其中 version 是指您的電腦上所安裝的 DataBlade 模組的現行版本。

如果查詢參照 etx_thesaurus 同義字清單,但是該清單不存在,則 Informix Excalibur Text Search DataBlade 模組會傳回錯誤。

重要: Informix Excalibur Text Search DataBlade 模組只會尋找字根的型樣相符,而不會尋找其同義字。

例如,假設您執行一項文字搜尋,並指定 PATTERN_ALL 及 MATCH_SYNONYM 調整參數,同時在指定的同義字清單中包含的字根 abandon 具有一個同義字:surrender。 搜尋會傳回包含字組 abanden(與字根 abandon 型樣相符)的文件,但是不會傳回包含字組 surender(與同義字 surrender 型樣相符)的文件。


傳送建議與意見 | 範例交流 | 疑難排解

若要尋找 PDF,請參閱 IBM Informix DataBlade Module:PDF 格式的出版品書庫
如需版本注意事項、說明文件注意事項及/或機器注意事項,請參閱版本注意事項頁面。
時間戳記 發行日期:2013 年 3 月