浏览代码

modify administrative access for search

Shinsuke Sugaya 9 年之前
父节点
当前提交
08a02f533a

+ 5 - 0
src/main/java/org/codelibs/fess/api/json/JsonApiManager.java

@@ -765,5 +765,10 @@ public class JsonApiManager extends BaseApiManager {
             return pageSize;
             return pageSize;
         }
         }
 
 
+        @Override
+        public boolean isAdministrativeAccess() {
+            return false;
+        }
+
     }
     }
 }
 }

+ 2 - 1
src/main/java/org/codelibs/fess/app/service/SearchService.java

@@ -137,7 +137,8 @@ public class SearchService {
                         searchRequestBuilder -> {
                         searchRequestBuilder -> {
                             return SearchConditionBuilder.builder(searchRequestBuilder).query(query).offset(pageStart).size(pageSize)
                             return SearchConditionBuilder.builder(searchRequestBuilder).query(query).offset(pageStart).size(pageSize)
                                     .facetInfo(params.getFacetInfo()).geoInfo(params.getGeoInfo())
                                     .facetInfo(params.getFacetInfo()).geoInfo(params.getGeoInfo())
-                                    .responseFields(queryHelper.getResponseFields()).build();
+                                    .responseFields(queryHelper.getResponseFields()).administrativeAccess(params.isAdministrativeAccess())
+                                    .build();
                         }, (searchRequestBuilder, execTime, searchResponse) -> {
                         }, (searchRequestBuilder, execTime, searchResponse) -> {
                             final QueryResponseList queryResponseList = ComponentUtil.getQueryResponseList();
                             final QueryResponseList queryResponseList = ComponentUtil.getQueryResponseList();
                             queryResponseList.init(searchResponse, pageStart, pageSize);
                             queryResponseList.init(searchResponse, pageStart, pageSize);

+ 1 - 1
src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java

@@ -41,7 +41,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 
 
 /**
 /**
- * @author codelibs
+ * @author shinsuke
  * @author Keiichi Watanabe
  * @author Keiichi Watanabe
  */
  */
 public class AdminSearchlistAction extends FessAdminAction {
 public class AdminSearchlistAction extends FessAdminAction {

+ 5 - 0
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;
+    }
+
 }
 }

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/search/SearchForm.java

@@ -135,4 +135,9 @@ public class SearchForm implements SearchRequestParams, Serializable {
     public String getSort() {
     public String getSort() {
         return sort;
         return sort;
     }
     }
+
+    @Override
+    public boolean isAdministrativeAccess() {
+        return false;
+    }
 }
 }

+ 2 - 0
src/main/java/org/codelibs/fess/entity/SearchRequestParams.java

@@ -39,4 +39,6 @@ public interface SearchRequestParams {
 
 
     int getPageSize();
     int getPageSize();
 
 
+    boolean isAdministrativeAccess();
+
 }
 }

+ 2 - 2
src/main/java/org/codelibs/fess/es/client/FessEsClient.java

@@ -775,8 +775,8 @@ public class FessEsClient implements Client {
             return this;
             return this;
         }
         }
 
 
-        public SearchConditionBuilder administrativeAccess() {
-            administrativeAccess = true;
+        public SearchConditionBuilder administrativeAccess(boolean administrativeAccess) {
+            this.administrativeAccess = administrativeAccess;
             return this;
             return this;
         }
         }
 
 

+ 6 - 3
src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java

@@ -89,10 +89,13 @@ public class KeyMatchHelper {
         final FessEsClient fessEsClient = ComponentUtil.getElasticsearchClient();
         final FessEsClient fessEsClient = ComponentUtil.getElasticsearchClient();
         final FessConfig fessConfig = ComponentUtil.getFessConfig();
         final FessConfig fessConfig = ComponentUtil.getFessConfig();
         final List<Map<String, Object>> documentList =
         final List<Map<String, Object>> documentList =
-                fessEsClient.getDocumentList(fessConfig.getIndexDocumentIndex(), fessConfig.getIndexDocumentType(),
+                fessEsClient.getDocumentList(
+                        fessConfig.getIndexDocumentIndex(),
+                        fessConfig.getIndexDocumentType(),
                         searchRequestBuilder -> {
                         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;
         return documentList;
     }
     }