Rav*_*avi 2 marklogic marklogic-8
我想在xml标签上进行分面,并在标签值上进行子分面,我有一个像下面这样的xml文档
<TermiteJServiceResponse>
<EntityTypeHit type="DRUG">
<HitCollection>
<Hit type="DRUG" id="CHEMBL1201288">
<Name>Dantrolene</Name>
</Hit>
<Hit type="DRUG" id="CHEMBL286398">
<Name>Propylene Glycol</Name>
</Hit>
<Hit type="DRUG" id="GXC376D7F8C0E7A0C3787E8A2384DC56E80">
<Name>PEG400</Name>
</Hit>
</HitCollection>
</EntityTypeHit>
<EntityTypeHit type="COMPOUNDS">
<HitCollection>
<Hit type="COMPOUNDS" id="A-409912.5">
<Name>A-409912.5</Name>
</Hit>
<Hit type="COMPOUNDS" id="A-409912">
<Name>A-409912</Name>
</Hit>
</HitCollection>
</EntityTypeHit>
<EntityTypeHit type="GENE">
<HitCollection>
<Hit type="GENE" id="TRH">
<Name>thyrotropin-releasing hormone</Name>
</Hit>
</HitCollection>
</EntityTypeHit>
<EntityTypeHit type="BIOPROC">
<HitCollection>
<Hit type="BIOPROC" id="BP70302">
<Name>infusion</Name>
</Hit>
<Hit type="BIOPROC" id="D009200">
<Name>Myocardial Contraction</Name>
</Hit>
<Hit type="BIOPROC" id="BP70198">
<Name>cmax values</Name>
</Hit>
<Hit type="BIOPROC" id="D001835">
<Name>Body Weight</Name>
</Hit>
<Hit type="BIOPROC" id="D062186">
<Name>Arterial Pressure</Name>
</Hit>
<Hit type="BIOPROC" id="BP70209">
<Name>contractility</Name>
</Hit>
<Hit type="BIOPROC" id="D006339">
<Name>Heart Rate</Name>
</Hit>
<Hit type="BIOPROC" id="BP70316">
<Name>intravenal</Name>
</Hit>
</HitCollection>
</EntityTypeHit>
<EntityTypeHit type="SPECIES">
<HitCollection>
<Hit type="SPECIES" id="D051381">
<Name>Rats</Name>
</Hit>
</HitCollection>
</EntityTypeHit>
</TermiteJServiceResponse>
Run Code Online (Sandbox Code Playgroud)
我想基于上面的文件DRUGS和sub facet on Drug names以及类似化合物和化合物名称上的子方面
看一下关于" 约束搜索和分面导航 " 的MarkLogic搜索开发人员指南.
使用Search API,您可以使用该<search:options>
元素定义约束和构面(一种约束).对于每个方面,您需要定义范围索引.理想情况下,您将使用语义命名的元素(<DRUG>
而不是<Hit type="DRUG">
)来进行更简单的索引; 但是,如果这个模式不灵活,那么你可以定义一个工作面区域指数超过//Hit[type="DRUG"]
,而在像搜索选项引用它:
<constraint name="Drug">
<range type="xs:string" facet="true">
<path-index>
//Hit[type="DRUG"]
</path-index>
</range>
</constraint>
Run Code Online (Sandbox Code Playgroud)
当您使用search:search
或调用Search API时search:resolve
,它将返回一个search:response
元素,其中包含您在其中定义的结果(片段)和约束或构面值<search:options>
.
归档时间: |
|
查看次数: |
62 次 |
最近记录: |