Мы используем MarkLogic 9.0-4 search:search
с фасетами, определенными в options
.Возвращенные фасеты содержат значения NOT в наборе результатов.
Например, при поиске будет возвращен фасет с 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
.Проблема (просмотр значений в фасетах, которых нет в наборе результатов) возникает только тогда, когда пользователь имеет значение NOT admin
.