2016-09-27 56 views
0

我有像下面刻面基於場或元件範圍索引

<?xml version="1.0" encoding="UTF-8"?> 
<document-envelope xmlns="http://abc/content-repo/envelope"> 
    <metadata xmlns="http://abc/content-repo/metadata"> 
    <name>48363ff1d9e0a48dc9e578f0f4519564628fdbbc.docx</name> 
    <SubjectMatter> 
    Combination Therapy; Comparative Efficacy; Pharmacokinetics/Pharmacodynamics; Safety; Serum Drug Levels; Therapeutic Drug Monitoring (TDM) 
    </SubjectMatter> 
    </metadata> 
</document-enevelope> 

我創建用於SubjectMatter一個場和場範圍索引的XML文件。

我的困境是,當我創建一個小的SubjectMatter,它把在<SubjectMatter>作爲一個獨特的實體的全部內容。但我想製作';'分隔文本作爲獨特的實體。對於例如:對樣本XML以上我想要的面是

Combination Therapy 
Comparative Efficacy 
Pharmacokinetics/Pharmacodynamics 
Safety 
Serum Drug Levels 
Therapeutic Drug Monitoring (TDM) 

我明白我可以通過解析字符串並加入每一個作爲單獨的SubjectMatter而構建的信封實現這一目標。

我想知道是否有另一種方式來做到這一點,而不是在文檔信封中創建多個SubjectMatter xml標籤?

下面是一個示例XML文件..

<?xml version="1.0" encoding="UTF-8"?> 
<document-envelope xmlns="http://abc/content-repo/envelope"> 
    <metadata xmlns="http://abc/content-repo/metadata"> 
    <name>2747f031c217f9e23f1e2c1e600ee48cc703494a.pdf</name> 
    <context>GMA</context> 
    <mime-type>application/pdf</mime-type> 
    <file-type>PDF</file-type> 
    <virtual-path>KN</virtual-path> 
    <id>54a7b5298b5574ea7e5b743a2817d6c5ad723ac4</id> 
    <uploadDate>2016-07-13T02:55:00.000-05:00</uploadDate> 
    <remoteURL>https://teams.abbvienet.com/gprd/gma/KM/Lists/Library/Attachments/1120/Hawaii Derm 2013 Meeting Summary CSM Ed.pdf?Web=1</remoteURL> 
    <displayFilename>Hawaii Derm 2013 Meeting Summary CSM Ed.pdf</displayFilename> 
    <Title xmlns="http://abc/content-repo/metadata/gma">Hawaii Derm 2013 Meeting Summary CSM Ed</Title> 
    <Modified-Date xmlns="http://abc/content-repo/metadata/gma">2016-07-13T02:55:00.000-05:00</Modified-Date> 
    <author>a-gangapx</author> 
    <Presenter xmlns="http://abc/content-repo/metadata/gma">US MSLs</Presenter> 
    <Organization xmlns="http://abc/content-repo/metadata/gma">Malhotra, Kailash</Organization> 
    <Description xmlns="http://abc/content-repo/metadata/gma">Regional Medical Meeting Report</Description> 
    <Therapeutic-Area xmlns="http://abc/content-repo/metadata/gma">7. Immuno - Dermatology</Therapeutic-Area> 
    <Disease-State xmlns="http://abc/content-repo/metadata/gma">7. Ps</Disease-State> 
    <Material-Type xmlns="http://abc/content-repo/metadata/gma">Report</Material-Type> 
    <SubjectMatter xmlns="http://abc/content-repo/metadata/gma">Safety; Pediatrics</SubjectMatter> 
    <Region xmlns="http://abc/content-repo/metadata/gma">United States</Region> 
    <Language xmlns="http://abc/content-repo/metadata/gma">English</Language> 
    <Publication-Date xmlns="http://abc/content-repo/metadata/gma">2013-02-10T00:00:00.000-06:00</Publication-Date> 
    <Active-Date xmlns="http://abc/content-repo/metadata/gma">2014-02-07T00:00:00.000-06:00</Active-Date> 
    <Expiration-Date xmlns="http://abc/content-repo/metadata/gma">2014-01-01T00:00:00.000-06:00</Expiration-Date> 
    <Congress xmlns="http://abc/content-repo/metadata/gma">Other</Congress> 
    <Congress-Year xmlns="http://abc/content-repo/metadata/gma">2013</Congress-Year> 
    <Endorsement xmlns="http://abc/content-repo/metadata/gma">MSL</Endorsement> 
    </metadata> 
</document-envelope> 

回答

1

對於MarkLogic方面的本地使用,那麼我認爲重構信封是最合乎邏輯的方法。

如果你想保持數據是,那麼你可以發現這種方法可以接受的:

題材元素創建一個域*

  • 添加一個詞典
  • 和定製分詞器只能分割';'

此時,您可以按照自己希望的方式在詞典中獲得信息。

再查看,如果文檔中可用安博t "Browsing with Lexicons工具「確實夠你。

  • 爲什麼一個領域,而不是一個elementWordLexicon?如果我們用一個字段,那麼我們就可以使用現有的設置admin interface。如果我們使用elementWordLexicon,那麼我們將註冊自定義的標記器。我所描述的字段選項在索引時會有更多的開銷,但實現會稍微容易些。
+0

我下面,對於場 '字lexicons' \t '的http:// marklogic.com /覈對/'' 分詞器覆蓋\t'' 字符\t Class' '; \t單詞' 它似乎不工作?我錯過了什麼 – Ravi

+0

嗯,特別是:你的測試內容是什麼?詞典中的設置是什麼?你是如何測試它的?結果是什麼?在我深入之前,我需要更多一點。 –

+0

添加了示例xml到我原來的問題..我正在使用Root Collat​​ion。爲了測試我做了 'cts:field-values(「topic」)[1到1000]' – Ravi

1

如果你想有單獨的小計數每個分隔的值,那麼我認爲你將不得不創建單獨的元素。如果您只關心計數值的組合的匹配數,則可以構建自定義約束(假設您使用的是Search API),並在查詢時解析它們。不過,您可能仍然需要對重疊值組合進行特殊處理。

可能通過構建Aggregate User-Defined Function plugin來計算單獨的值而不創建多個SubjectMatter元素;然而,除非你不能控制這些文件,否則將它們分開可能會簡單得多。