Marklogic Diacritic Чувствительный поиск не работает для нефильтрованных поисков

Если я чувствую диакритический знак 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 ответ

Для точного нефильтрованного диакритически чувствительного поиска необходимо включить fast diacritic sensitive searches индекс. Разрешить переиндексацию и отслеживать состояние базы данных до ее завершения.

Документы имеют больше возможностей для текстовой индексации и нефильтрованного поиска.

Другие вопросы по тегам