MarkLogic:分面结果不区分大小写

时间:2019-08-30 19:57:06

标签: xquery marklogic

我有一个基于XML路径范围索引的约束,该约束返回不同类型的字母大小写的构面值:

<facet name="myFacet" type="xs:string">
    <facet-value name="test TEST" count="1"/>
    <facet-value name="Test Test" count="3"/>
</facet>

我希望我的构面值不区分大小写,对于上述内容,我将有4个结果用于“测试测试”。有没有一种方法可以轻松地在选项中进行设置,以下是我无法使用的:

<constraint name="myFacet">
    <range type="xs:string" facet="true">
        <path-index>/path/to/data</path-index>
        <word>
            <term-option>case-insensitive</term-option>
        </word>
    </range>
</constraint>

如果不手动将数据字段中的每个项目都进行小写,是否有一种方法可以通过我可以传递给约束的搜索选项来实现?

1 个答案:

答案 0 :(得分:2)

您必须创建一个使用排序规则的字符串索引,该排序规则包括不区分大小写的标志。然后,您将照常使用该字符串索引,但需要额外的排序规则。

我建议查看Admin ui,打开数据库的路径索引页面,创建字符串类型之一,然后查找排序规则生成器按钮。它应该会弹出一个小向导,可以帮助您编写所需的排序规则。

HTH!