diff --git a/src/main/java/org/genesys2/server/model/elastic/AccessionDetails.java b/src/main/java/org/genesys2/server/model/elastic/AccessionDetails.java index a47b2ffc43db6b2eea26c55ff0fd77a22ceed032..d2bfcd96b3ab2d2e7606b69ab625ef20a180c64d 100644 --- a/src/main/java/org/genesys2/server/model/elastic/AccessionDetails.java +++ b/src/main/java/org/genesys2/server/model/elastic/AccessionDetails.java @@ -46,6 +46,8 @@ public class AccessionDetails { private Boolean available; private Date createdDate; // FIXME @Field(index = FieldIndex.not_analyzed, type = FieldType.String) + // TODO Also handle ElasticsearchSearchServiceImpl and move to #isAnalyzed() + // section! private List duplSite; private Boolean mlsStatus; private Boolean art15; @@ -61,6 +63,8 @@ public class AccessionDetails { @Field(type = FieldType.Nested) private ArrayList aliases; private Svalbard sgsv; + // FIXME TODO Enable inSgsv! + // private boolean inSgsv; @Field(type = FieldType.Nested, store = false) private ArrayList remarks; @@ -120,6 +124,8 @@ public class AccessionDetails { public void svalbard(SvalbardData svalbardData) { this.sgsv = Svalbard.from(svalbardData); + // FIXME TODO inSgsv + // this.inSgsv = this.sgsv != null; } public void remarks(List listAccessionRemarks) { @@ -215,7 +221,7 @@ public class AccessionDetails { public Boolean getAvailable() { return available; } - + public void setAvailable(Boolean available) { this.available = available; } @@ -379,12 +385,20 @@ public class AccessionDetails { public void setAcqusitionDate(Date acqusitionDate) { this.acqusitionDate = acqusitionDate; } - + public Boolean getArt15() { return art15; } - + public void setArt15(Boolean art15) { this.art15 = art15; } + + // TODO FIXME enable #inSgsv + // public boolean isInSgsv() { + // return inSgsv; + // } + // public void setInSgsv(boolean inSgsv) { + // this.inSgsv = inSgsv; + // } } diff --git a/src/main/java/org/genesys2/server/model/elastic/Taxonomy.java b/src/main/java/org/genesys2/server/model/elastic/Taxonomy.java index d4fb1512a9b35935cbc6d529dc3a3b669055c9fd..ca3ad0b97284c3a544e28a220b1bf1dd88d78767 100644 --- a/src/main/java/org/genesys2/server/model/elastic/Taxonomy.java +++ b/src/main/java/org/genesys2/server/model/elastic/Taxonomy.java @@ -13,6 +13,9 @@ public class Taxonomy { private String genus; @Field(index = FieldIndex.not_analyzed, type = FieldType.String) private String species; + // TODO FIXME Enable non-indexed access to genus+species + // @Field(index = FieldIndex.not_analyzed, type = FieldType.String) + // private String genusSpecies; private String spAuthor; private String subtax; private String subtAuthor; diff --git a/src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java b/src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java index 40e8d5d9d40a58cf13c976ebbb0cb8e2d2925493..d89ebc49bf53ba9fc7403fb07fa7ffacf31cd2d9 100644 --- a/src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java +++ b/src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java @@ -116,7 +116,12 @@ public class ElasticsearchSearchServiceImpl implements ElasticService, Initializ AndFilterBuilder filterBuilder = getFilterBuilder(appliedFilters); - FacetRequest termFacetRequest = new TermFacetRequestBuilder("f").applyQueryFilter().fields(term).size(size).build(); + FacetRequest termFacetRequest; + if (FilterConstants.DUPLSITE.equals(term)) { + termFacetRequest = new TermFacetRequestBuilder("f").applyQueryFilter().fields(term).excludeTerms("nor051").size(size).build(); + } else { + termFacetRequest = new TermFacetRequestBuilder("f").applyQueryFilter().fields(term).size(size).build(); + } SearchQuery searchQuery = new NativeSearchQueryBuilder().withFilter(filterBuilder).withFacet(termFacetRequest).build(); try { @@ -138,11 +143,11 @@ public class ElasticsearchSearchServiceImpl implements ElasticService, Initializ int newSize = size; do { termResult = termStatistics(appliedFilters, term, newSize); - + // Avoid div/0 if (termResult.getTotalCount() == 0) break; - + double otherPerc = (double) termResult.getOtherCount() / (termResult.getMissingCount() + termResult.getTotalCount()); if (otherPerc < 0.1) break; diff --git a/src/main/java/org/genesys2/server/servlet/controller/ExplorerController.java b/src/main/java/org/genesys2/server/servlet/controller/ExplorerController.java index 253993e5fb68c87f5caa6381903abef938aa55f4..4938454d815ce88681205f3f3a225621b74d20b5 100644 --- a/src/main/java/org/genesys2/server/servlet/controller/ExplorerController.java +++ b/src/main/java/org/genesys2/server/servlet/controller/ExplorerController.java @@ -482,6 +482,7 @@ public class ExplorerController extends BaseController { private void overviewManagement(ModelMap model, AppliedFilters appliedFilters) throws SearchException { model.addAttribute("statsStorage", elasticService.termStatisticsAuto(appliedFilters, FilterConstants.STORAGE, 30)); model.addAttribute("statsDuplSite", elasticService.termStatisticsAuto(appliedFilters, FilterConstants.DUPLSITE, 10)); + model.addAttribute("statsSGSV", elasticService.termStatistics(appliedFilters, FilterConstants.SGSV, 2)); } private void overviewComposition(ModelMap model, AppliedFilters appliedFilters) throws SearchException { diff --git a/src/main/webapp/WEB-INF/jsp/accession/overview.jsp b/src/main/webapp/WEB-INF/jsp/accession/overview.jsp index eec9a19955dbb42d143b76cd95d0fe8ef3715ac7..3e26a0fac2e55fae7d44d8a838a8e00b4db3f405 100644 --- a/src/main/webapp/WEB-INF/jsp/accession/overview.jsp +++ b/src/main/webapp/WEB-INF/jsp/accession/overview.jsp @@ -194,6 +194,16 @@ + <%-- TODO FIXME enable #inSgsv +
+

+ + + <%@include file="termresult.jspf"%> + + +
+ --%>