Поиск MarkLogic: значения фасетов поиска не соответствуют набору результатов - PullRequest
0 голосов
/ 07 июня 2018

Мы используем 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.

...