Marklogic 基于字段或元素范围索引的方面

Marklogic 基于字段或元素范围索引的方面,marklogic,marklogic-8,Marklogic,Marklogic 8,我有一个如下所示的xml文件 <?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&l

我有一个如下所示的xml文件

<?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
添加来实现这一点

我想知道是否有其他方法可以做到这一点,而不必在文档信封中创建多个
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>

2747f031c217f9e23f1e2c1e600ee48cc703494a.pdf
GMA
申请表格/pdf
PDF
千牛
54a7b5298b5574ea7e5b743a2817d6c5ad723ac4
2016-07-13T02:55:00.000-05:00
https://teams.abbvienet.com/gprd/gma/KM/Lists/Library/Attachments/1120/Hawaii Derm 2013年会议纪要CSM Ed.pdf?Web=1
夏威夷Derm 2013年会议纪要CSM Ed.pdf
夏威夷Derm 2013年会议总结CSM Ed
2016-07-13T02:55:00.000-05:00
a-gangapx
美国MSL
马尔霍特拉,凯拉什
区域医疗会议报告
7.免疫皮肤病学
7.附言
报告
安全;儿科学
美国
英语
2013-02-10T00:00:00.000-06:00
2014-02-07T00:00:00.000-06:00
2014-01-01T00:00:00.000-06:00
其他
2013
MSL

如果您想为每个分隔值创建单独的方面计数,那么我认为您必须创建单独的元素。如果您只关心计算该值组合的匹配数,那么您可以构建一个自定义约束(假设您使用的是搜索API),并在查询时解析它们。不过,对于重叠的值组合,您可能仍然需要特殊处理


通过构建一个;但是,除非您无法控制文档,否则拆分文档可能会简单得多。

对于MarkLogic facets的本机使用,我认为重构信封是最合乎逻辑的方法

如果您希望保持数据不变,那么您可能会发现这种方法是可以接受的:

在subjectMatter元素上创建一个字段*

  • 添加词典
  • 并将标记器自定义为仅在“;”上拆分
在这一点上,您可以按照自己的意愿在词典中找到信息

然后看看“关于”的文档中提供的工具对您是否足够

  • 为什么是字段而不是elementWordLexicon?如果我们使用字段,那么我们可以使用管理界面中可用的设置。如果我们使用elementWordLexicon,那么我们将注册自定义标记器。我描述的字段选项在索引时确实有更多开销。但是,它更容易实现

我为
单词词典
http://marklogic.com/collation/
标记器重写
字符类
;word
它似乎不起作用?我是否遗漏了一些东西?具体来说:你的测试内容是什么?词典中的设置是什么?你是怎么做的你测试它?结果是什么?在我深入研究之前,我需要更多。在我的原始问题中添加了示例xml。我正在使用根排序规则。为了测试,我在原始问题中添加了示例xml。。我在使用根排序规则。为了测试,我做了
cts:fieldvalues(“topic”)[1到1000]
我为SubjectMatter创建了一个名为“topic”的字段,并添加了根排序规则(
http://marklogic.com/collation/
)标记器覆盖为`;word`我仍然没有得到解析的SubjectMatter作为单个字段值,我也使用了constratin作为
topic
的搜索选项,并进行了
search:search
和没有解析的facet一样根据我链接到的文档,用例需要字段词,而不是字段值(示例使用元素词,但其余都是相同的),最接近的okenize overide实际上是将空格重新定义为工作字符。这几乎可以让您完全了解它的外观。但是,条目之间的空格会导致在某些内容的开头索引一个难看的空格。例如:“组合疗法;比较功效”;在本例中,是“y;C”中的空格“是用C索引的。您需要使用单个分隔符(;)而不是复合分隔符(;)。
<?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>