【问题标题】:MarkLogic: How to omit search facet values that are empty?MarkLogic:如何省略空的搜索构面值?
【发布时间】:2019-09-23 19:34:52
【问题描述】:

使用默认搜索端点并传入选项文件,我在特定元素 /path/to/my/element/ 上设置了路径范围索引。

我目前收到以下内容:

<search:facet name="facetName" type="xs:string">
<search:facet-value name="" count="3"/>
<search:facet-value name="real value 1" count="1">real value 1</search:facet-value>
<search:facet-value name="real value 2" count="1">real value 2</search:facet-value>
</search:facet>

我想要的输出:

<search:facet name="facetName" type="xs:string">
<search:facet-value name="real value 1" count="1">real value 1</search:facet-value>
<search:facet-value name="real value 2" count="1">real value 2</search:facet-value>
</search:facet>

我不希望为空元素返回构面值。有没有办法摆脱那些空分面值,而无需编写另一个转换来应用于搜索结果?

【问题讨论】:

    标签: xquery marklogic


    【解决方案1】:

    如果可以的话,唯一明智的方法是从文档中删除空元素。

    HTH!

    【讨论】:

      【解决方案2】:

      对于欲望输出。您将生成输出存储在变量中并按照下面的说明添加条件。

      声明命名空间搜索="http://www.search.com";

      let $var1:=<search:facet name="facetName" type="xs:string">
                    <search:facet-value name="" count="3"/>
                    <search:facet-value name="real value 1" count="1">real value 1</search:facet-value>
                    <search:facet-value name="real value 2" count="1">real value 2</search:facet-value>
                  </search:facet>
      
      return for $in in $var1
              return 
              <search:facet name="facetName" type="xs:string">{
              $in//search:facet-value[not(@name='')]}
              </search:facet>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多