From 5b8e399f278d461984debc632cf8dd1b1207da32 Mon Sep 17 00:00:00 2001 From: "Daniel A. Werning" <33833393+dwerning@users.noreply.github.com> Date: Thu, 14 Mar 2024 10:57:51 +0100 Subject: [PATCH] Release 2.1.2 --- .../tla/backend/es/model/LemmaEntity.java | 3 +++ .../es/query/SentenceSearchQueryBuilder.java | 2 +- .../tla/backend/service/EntityService.java | 2 +- .../tla/backend/service/LemmaService.java | 20 +++++++++---------- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/tla/backend/es/model/LemmaEntity.java b/src/main/java/tla/backend/es/model/LemmaEntity.java index c9982e97..46d08893 100644 --- a/src/main/java/tla/backend/es/model/LemmaEntity.java +++ b/src/main/java/tla/backend/es/model/LemmaEntity.java @@ -60,6 +60,9 @@ public class LemmaEntity extends TLAEntity { @Field(type = FieldType.Object) @JsonAlias({"time_span"}) private AttestedTimeSpan timeSpan; + + @Field(type = FieldType.Keyword) + private Integer attestedSentencesCount; @Singular @Field(type = FieldType.Object) diff --git a/src/main/java/tla/backend/es/query/SentenceSearchQueryBuilder.java b/src/main/java/tla/backend/es/query/SentenceSearchQueryBuilder.java index 20c6c246..17ba5d8b 100644 --- a/src/main/java/tla/backend/es/query/SentenceSearchQueryBuilder.java +++ b/src/main/java/tla/backend/es/query/SentenceSearchQueryBuilder.java @@ -30,7 +30,7 @@ public void setContext(Context context) { if (textId != null) { log.info("sentence query: receive {} textIDs", textId); textQuery.must(QueryBuilders.termQuery("context.textId", textId)); // Set text ID of which sentences should be retrieved - textQuery.must(QueryBuilders.regexpQuery("id", "[^\\-]*|.*\\-00")); // Sort out all sentence reading variants except for "-00" + textQuery.must(QueryBuilders.regexpQuery("id", "[^\\-]*|.*\\-0")); // Sort out all sentence reading variants except for "-0" this.filter(textQuery); } diff --git a/src/main/java/tla/backend/service/EntityService.java b/src/main/java/tla/backend/service/EntityService.java index 4dd899c5..6f7c88fc 100644 --- a/src/main/java/tla/backend/service/EntityService.java +++ b/src/main/java/tla/backend/service/EntityService.java @@ -190,7 +190,7 @@ public T retrieve(String id) { public SingleDocumentWrapper getDetails(String id) { T document = this.retrieve(id); if (document == null) { - document = this.retrieve(id.concat("-00")); // try again as an instance of a sentence variant + document = this.retrieve(id.concat("-0")); // try again as an instance of a sentence variant } final SingleDocumentWrapper container; if (document != null) { diff --git a/src/main/java/tla/backend/service/LemmaService.java b/src/main/java/tla/backend/service/LemmaService.java index dfc20694..694f7cfe 100644 --- a/src/main/java/tla/backend/service/LemmaService.java +++ b/src/main/java/tla/backend/service/LemmaService.java @@ -68,32 +68,32 @@ public SingleDocumentWrapper getDetails(String id) { if (lemma == null) { return null; } - SingleDocumentWrapper wrapper = super.getDetails(id); - ((LemmaDto) wrapper.getDoc()).setAttestations( - this.computeAttestedTimespans((LemmaDto) wrapper.getDoc()) - ); + SingleDocumentWrapper wrapper = super.getDetails(id); + ((LemmaDto) wrapper.getDoc()).setAttestations( + this.computeAttestedTimespans((LemmaDto) wrapper.getDoc()) + ); return wrapper; } /** * count sentences and texts containing the specified lemma. */ - public List computeAttestedTimespans(LemmaDto dto) { + public List computeAttestedTimespans(LemmaDto dto) { ESQueryResult sentenceSearchResult = searchService.register( new SentencesContainingLemmaOccurrenceQueryBuilder(dto.getId()) ).run(SearchService.UNPAGED); Period attestedPeriod = dto.getTimeSpan(); - AttestationStats counts = AttestationStats.builder().count( - sentenceSearchResult.getAggregation(SentenceSearchQueryBuilder.AGG_ID_TEXT_IDS).size() - ).texts( - sentenceSearchResult.getAggregation(SentenceSearchQueryBuilder.AGG_ID_TEXT_IDS).size() + AttestationStats counts = AttestationStats.builder().count(0 + //sentenceSearchResult.getAggregation(SentenceSearchQueryBuilder.AGG_ID_TEXT_IDS).size() + ).texts(0 + //sentenceSearchResult.getAggregation(SentenceSearchQueryBuilder.AGG_ID_TEXT_IDS).size() ).sentences( sentenceSearchResult.getHitCount() ).build(); return List.of( AttestedTimespan.builder().period(attestedPeriod).attestations(counts).build() ); - } + } public Map getMostFrequent(int limit) { SearchResponse response = this.searchService.query(SentenceEntity.class, matchAllQuery(),