Как поддерживать нумерацию страниц для поиска по внешнему журналу изменений в OpenDJ LDAP?

Я хочу найти журнал изменений в разделе "cn=changelog". Я могу нормально искать результат, если записей результатов было не много. Но если записей в результате будет много, памяти будет не хватать. Итак, я хочу просмотреть результат. Как я могу определить предельный размер? Я также сослался на https://bugster.forgerock.org/jira/si/jira.issueviews:issue-html/OPENDJ-1218/OPENDJ-1218.html. Пока мне интересно, как определить фильтр для поддержки «changeNumber». И в моем результате нет этого атрибута "changeNumber". Почему? Пожалуйста, помогите мне, как мне быть? Кстати, я использую OpenDJ 3.0.


person Long Cui    schedule 18.05.2017    source источник
comment
окончательный запрос SearchRequest = Requests.newSearchRequest(cn=changelog, SearchScope.WHOLE_SUBTREE, (objectClass=*), атрибуты) .addControl(ExternalChangelogRequestControl.newControl(cookie)); окончательный LdapAsyncSearchHandler resultHandler = новый LdapAsyncSearchHandler(); окончательный результат результата = connection.search(запрос, результатHandler); Список‹SearchResultEntry› ldapEntryResult = resultHandler.getResultEntries();   -  person Long Cui    schedule 24.05.2017
comment
Я использую opendj-sdk. Фильтр (objectClass=*). И я реализовал ExternalChangelogRequestControl, имитирующий другие элементы управления.   -  person Long Cui    schedule 24.05.2017


Ответы (1)


Ограничение размера является опцией клиентского вызова. Вы всегда можете указать максимальное количество записей, которые вы хотите вернуть (у сервера есть собственный лимит, и он будет применять наименьшее из двух). Как определить ограничение размера, зависит от того, что вы используете в качестве клиента, и вы не упомянули об этом.

Можете ли вы предоставить подробную информацию о том, что вы используете для поиска (инструмент, библиотека...) и какие фильтры и параметры вы используете в настоящее время? Трудно предоставить помощь и предложения по улучшению, когда нет деталей.

person Ludovic Poitou    schedule 19.05.2017
comment
Если вы используете opendj client sdk, SearchRequest.setSizeLimit() может быть тем, что вы ищете. - person Feng Xi; 20.05.2017