3

我们如何对路径范围查询进行不区分大小写的搜索?我想对路径进行不区分大小写的搜索:

/pathSyntax = (case insensitive value of $Type)

路径范围搜索的示例查询格式,我需要将此路径范围查询搜索设置为不区分大小写:,我是否需要在为它创建的索引中进行更改?

let $xyz:= cts:and-query((
 cts:collection-query(concat("xyz://", val, "/test")),
 cts:path-range-query("/pathSyntax", "=",$Type)
))

以下是范围路径索引:

{
  "scalar-type": "string",
  "path-expression": "/pathSyntax",
  "collation": "http://marklogic.com/collation/",
  "range-value-positions": false,
  "invalid-values": "reject"
},
4

1 回答 1

3

您可以使用不区分大小写的排序规则来索引您的路径。

例如, http://marklogic.com/collation/en/S1是一种不区分大小写/变音符号的英文字符编码,或者http://marklogic.com/collation/en/S2它对变音符号敏感并且可能表现更好。

{
  "scalar-type": "string",
  "path-expression": "/pathSyntax",
  "collation": "http://marklogic.com/collation/en/S1",
  "range-value-positions": false,
  "invalid-values": "reject"
}

根据查询的默认排序规则,您可能还需要将排序规则指定为您的选项cts:path-range-query

cts:path-range-query("/pathSyntax", "=", $Type, "collation=http://marklogic.com/collation/en/S1")
于 2017-10-31T01:36:54.653 回答