Поиск MarkLogic: значения фасетов поиска не соответствуют набору результатов
Мы используем MarkLogic 9.0-4 search:search
с гранями, определенными в options
, Возвращенные фасеты содержат значения, которых нет в наборе результатов.
Например, при поиске будет возвращен фасет с названием city = 'Abbotsford', count = 5, а в наборе результатов нет элементов, у которых city = 'Abbotsford'.
Кроме того, проблема возникает только в наших приложениях - не в консоли запросов, а только в некоторых средах: 2 наших разработчика не видят проблему в своих локальных средах разработки (1 видит), и наши тестовые и производственные среды показывают проблема.
Любая помощь будет принята с благодарностью.
Фасетное ограничение выглядит так:
<constraint name="city" label="City">
<range type="xs:string" collation="http://marklogic.com/collation/en">
<path-index xmlns:ata="http://kriteachings.org/ata">/ata:user/ata:profile/ata:addresses/ata:address[@type eq "primary-residence"]/ata:place/ata:details/ata:locality</path-index>
</range>
</constraint>
выражение для поиска может быть разным и, как правило, выглядит так
<searchable-expression xmlns:ata="http://kriteachings.org/ata">xdmp:directory("/user/")/ata:user[ata:trainer-info]</searchable-expression>
Некоторая очень важная информация: при доступе к консоли запросов я являюсь пользователем admin
роль и не вижу проблемы. Я также не вижу проблемы, когда я предоставляю пользователю доступ к одному из наших приложений admin
, Проблема (просмотр значений в фасетах, которых нет в наборе результатов) возникает только тогда, когда пользователь НЕ admin
,