Marklogic Diacritic敏感搜索不适用于未经过滤的搜索

时间:2014-11-14 07:18:34

标签: diacritics marklogic cts-search

如果我在未过滤模式下对cts:query执行变音符敏感cts:search,那么我会得到正确的结果,但在过滤模式下执行相同操作会给我不正确的结果。 例如:

cts:search($data,($cts:query('unfiltered','diacritic-sensitive')))
returns incorrect results.

但是:

cts:search($data,($cts:query('filtered','diacritic-sensitive')))
returns correct results.

那么,有没有办法为未经过滤的搜索获得正确的结果呢?

请在下面找到我的代码详情。

for $result in cts:search (fn:collection ($searchable-collection), $cts-query, ('unfiltered',     $relevance-score-algo), 0.0)
        order by xs:dateTime ($result//c:created-on) descending
        return $result/element()

$ cts-query就是这样的。

cts:element-query($element-to-query,
        cts:word-query($search-text,
        $search-options,
        $weight)

在选项中我可以传递"变音符号敏感"或不。

1 个答案:

答案 0 :(得分:0)

对于准确的未经过滤的变音符号敏感搜索,您必须启用fast diacritic sensitive searches索引。允许重建索引并监视数据库状态,直到完成。

文档在text indexing optionsunfiltered search上有更多内容。