diff --git a/src/main/java/org/codelibs/fess/api/json/JsonApiManager.java b/src/main/java/org/codelibs/fess/api/json/JsonApiManager.java index f6ec8ffe7..6f556b5ce 100644 --- a/src/main/java/org/codelibs/fess/api/json/JsonApiManager.java +++ b/src/main/java/org/codelibs/fess/api/json/JsonApiManager.java @@ -765,5 +765,10 @@ public class JsonApiManager extends BaseApiManager { return pageSize; } + @Override + public boolean isAdministrativeAccess() { + return false; + } + } } diff --git a/src/main/java/org/codelibs/fess/app/service/SearchService.java b/src/main/java/org/codelibs/fess/app/service/SearchService.java index 6d12e91c7..c1db2a73a 100644 --- a/src/main/java/org/codelibs/fess/app/service/SearchService.java +++ b/src/main/java/org/codelibs/fess/app/service/SearchService.java @@ -137,7 +137,8 @@ public class SearchService { searchRequestBuilder -> { return SearchConditionBuilder.builder(searchRequestBuilder).query(query).offset(pageStart).size(pageSize) .facetInfo(params.getFacetInfo()).geoInfo(params.getGeoInfo()) - .responseFields(queryHelper.getResponseFields()).build(); + .responseFields(queryHelper.getResponseFields()).administrativeAccess(params.isAdministrativeAccess()) + .build(); }, (searchRequestBuilder, execTime, searchResponse) -> { final QueryResponseList queryResponseList = ComponentUtil.getQueryResponseList(); queryResponseList.init(searchResponse, pageStart, pageSize); diff --git a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java index 17d901d02..dc68bcb34 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java @@ -41,7 +41,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * @author codelibs + * @author shinsuke * @author Keiichi Watanabe */ public class AdminSearchlistAction extends FessAdminAction { diff --git a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/ListForm.java b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/ListForm.java index 2468cbbe1..2bf0cf4f7 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/ListForm.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/ListForm.java @@ -140,4 +140,9 @@ public class ListForm implements SearchRequestParams, Serializable { } } + @Override + public boolean isAdministrativeAccess() { + return true; + } + } diff --git a/src/main/java/org/codelibs/fess/app/web/search/SearchForm.java b/src/main/java/org/codelibs/fess/app/web/search/SearchForm.java index a260766e2..b2153bb04 100644 --- a/src/main/java/org/codelibs/fess/app/web/search/SearchForm.java +++ b/src/main/java/org/codelibs/fess/app/web/search/SearchForm.java @@ -135,4 +135,9 @@ public class SearchForm implements SearchRequestParams, Serializable { public String getSort() { return sort; } + + @Override + public boolean isAdministrativeAccess() { + return false; + } } diff --git a/src/main/java/org/codelibs/fess/entity/SearchRequestParams.java b/src/main/java/org/codelibs/fess/entity/SearchRequestParams.java index 99fd97860..986dd82c4 100644 --- a/src/main/java/org/codelibs/fess/entity/SearchRequestParams.java +++ b/src/main/java/org/codelibs/fess/entity/SearchRequestParams.java @@ -39,4 +39,6 @@ public interface SearchRequestParams { int getPageSize(); + boolean isAdministrativeAccess(); + } diff --git a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java index 8871c6410..d5420707c 100644 --- a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java +++ b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java @@ -775,8 +775,8 @@ public class FessEsClient implements Client { return this; } - public SearchConditionBuilder administrativeAccess() { - administrativeAccess = true; + public SearchConditionBuilder administrativeAccess(boolean administrativeAccess) { + this.administrativeAccess = administrativeAccess; return this; } diff --git a/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java b/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java index 21fcff2c1..6f2790129 100644 --- a/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java +++ b/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java @@ -89,10 +89,13 @@ public class KeyMatchHelper { final FessEsClient fessEsClient = ComponentUtil.getElasticsearchClient(); final FessConfig fessConfig = ComponentUtil.getFessConfig(); final List> documentList = - fessEsClient.getDocumentList(fessConfig.getIndexDocumentIndex(), fessConfig.getIndexDocumentType(), + fessEsClient.getDocumentList( + fessConfig.getIndexDocumentIndex(), + fessConfig.getIndexDocumentType(), searchRequestBuilder -> { - return SearchConditionBuilder.builder(searchRequestBuilder).administrativeAccess().size(keyMatch.getMaxSize()) - .query(keyMatch.getQuery()).responseFields(new String[] { fessConfig.getIndexFieldDocId() }).build(); + return SearchConditionBuilder.builder(searchRequestBuilder).administrativeAccess(true) + .size(keyMatch.getMaxSize()).query(keyMatch.getQuery()) + .responseFields(new String[] { fessConfig.getIndexFieldDocId() }).build(); }); return documentList; }