diff --git a/src/app/portal/components/results/publications2/publications2.component.html b/src/app/portal/components/results/publications2/publications2.component.html
index c77cc78d2..0a434924e 100644
--- a/src/app/portal/components/results/publications2/publications2.component.html
+++ b/src/app/portal/components/results/publications2/publications2.component.html
@@ -541,7 +541,7 @@ <h3 style='font-size: 1.4rem; margin: 0' i18n='@@searchHelpButton'>Hakuohje</h3>
   <!-- TODO: standalone-header here -->
 
   <div class='search-bar' style="background-color: orange; height: 100px; display: flex; justify-content: center; align-items: center">
-    <app-search-bar2 [(value)]='keywords' (search)='searchKeywords(keywords)' (instructions)='openTutorialDialog()'></app-search-bar2>
+    <app-search-bar2 [(value)]='keywords' (search)='setKeywords(keywords)' (instructions)='openTutorialDialog()'></app-search-bar2>
   </div>
 
   <!-- TODO HIDE FOR NOW -->
@@ -653,7 +653,7 @@ <h2>Julkaisut - {{total$ | async}}</h2>
           ></app-secondary-button>
         </div>
 
-        <!-- TODO: Add this -->
+        <!-- TODO: Add sorting management -->
         <!--<div class="mx-auto" style='flex-grow: 1'>
           <app-secondary-button
             [content]='"Osuva tulos ensin"'
@@ -691,190 +691,130 @@ <h2>Julkaisut - {{total$ | async}}</h2>
 
   <div class='search-combination'>
     <div>
-      <ng-container *ngIf='(filterCount$ | async) > 0'>
+      <ng-container *ngIf='(searchTermsCount$ | async) > 0'>
         <div class='filters-summary'>
-          <div>Rajaukset ({{filterCount$ | async}}):</div>
+          <div>Rajaukset ({{searchTermsCount$ | async}})</div>
 
           <!-- year -->
-          <ng-container *ngFor='let yearFilter of yearFilters$ | async'>
-            <ng-container *ngIf='yearFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("year", yearFilter.year)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{yearFilter.year}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let yearfilter of enabledYearFilters$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("year", yearfilter)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{yearfilter}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- organization -->
-          <ng-container *ngFor='let organizationFilter of organizationFilters$ | async'>
-            <ng-container *ngIf='organizationFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("organization", organizationFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{organizationFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let organizationFilter of enabledOrganizationFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("organization", organizationFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{organizationFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- fieldOfScience -->
-          <ng-container *ngFor='let fieldsOfScienceFilter of fieldsOfScienceFilters$ | async'>
-            <ng-container *ngIf='fieldsOfScienceFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("fieldOfScience", fieldsOfScienceFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{fieldsOfScienceFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let fieldsOfScienceFilter of enabledFieldsOfScienceFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("fieldOfScience", fieldsOfScienceFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{fieldsOfScienceFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- publicationTypeCodeFilters$ -->
-          <ng-container *ngFor='let publicationTypeCodeFilter of publicationTypeCodeFilters$ | async'>
-            <ng-container *ngIf='publicationTypeCodeFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("publicationType", publicationTypeCodeFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{publicationTypeCodeFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let publicationTypeCodeFilter of enabledPublicationTypeCodeFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("publicationType", publicationTypeCodeFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{publicationTypeCodeFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- languageCode -->
-          <ng-container *ngFor='let languageCodeFilter of languageCodeFilters$ | async'>
-            <ng-container *ngIf='languageCodeFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("language", languageCodeFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{languageCodeFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let languageCodeFilter of enabledLanguageCodeFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("language", languageCodeFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{languageCodeFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- publicationFormat -->
-          <ng-container *ngFor='let publicationFormatFilter of publicationFormatFilters$ | async'>
-            <ng-container *ngIf='publicationFormatFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("format", publicationFormatFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{publicationFormatFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let publicationFormatFilter of enabledPublicationFormatFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("format", publicationFormatFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{publicationFormatFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- publicationAudience -->
-          <ng-container *ngFor='let publicationAudienceFilter of publicationAudienceFilters$ | async'>
-            <ng-container *ngIf='publicationAudienceFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("audience", publicationAudienceFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{publicationAudienceFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let publicationAudienceFilter of enabledPublicationAudienceFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("audience", publicationAudienceFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{publicationAudienceFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- peerReviewed -->
-          <ng-container *ngFor='let peerReviewedFilter of peerReviewedFilters$ | async'>
-            <ng-container *ngIf='peerReviewedFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("peerReviewed", peerReviewedFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{peerReviewedFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let peerReviewedFilter of enabledPeerReviewedFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("peerReviewed", peerReviewedFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{peerReviewedFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- publicationType -->
-          <ng-container *ngFor='let parentPublicationTypeFilter of parentPublicationTypeFilters$ | async'>
-            <ng-container *ngIf='parentPublicationTypeFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("parentPublicationType", parentPublicationTypeFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{parentPublicationTypeFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let parentPublicationTypeFilter of enabledParentPublicationTypeFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("parentPublicationType", parentPublicationTypeFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{parentPublicationTypeFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- international -->
-          <ng-container *ngFor='let internationalPublicationFilter of publisherInternationalityFilters$ | async'>
-            <ng-container *ngIf='internationalPublicationFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("international", internationalPublicationFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{internationalPublicationFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let internationalPublicationFilter of enabledPublisherInternationalityFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("international", internationalPublicationFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{internationalPublicationFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- articleType -->
-          <ng-container *ngFor='let articleTypeCodeFilter of articleTypeCodeFilters$ | async'>
-            <ng-container *ngIf='articleTypeCodeFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("articleType", articleTypeCodeFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{articleTypeCodeFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let articleTypeCodeFilter of enabledArticleTypeCodeFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("articleType", articleTypeCodeFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{articleTypeCodeFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- jufo -->
-          <ng-container *ngFor='let jufoClassCodeFilter of jufoClassCodeFilters$ | async'>
-            <ng-container *ngIf='jufoClassCodeFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("jufo", jufoClassCodeFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{jufoClassCodeFilter.id}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let jufoClassCodeFilter of enabledJufoClassCodeFilters$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("jufo", jufoClassCodeFilter)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{jufoClassCodeFilter}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- TODO new filter pills -->
 
           <!-- openAccess -->
-          <ng-container *ngFor='let openAccessFilter of openAccessFilters$ | async'>
-            <ng-container *ngIf='openAccessFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("openAccess", openAccessFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{openAccessFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let openAccessFilter of enabledOpenAccessFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("openAccess", openAccessFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{openAccessFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- publisherOpenAccess -->
-          <ng-container *ngFor='let publisherOpenAccessFilter of publisherOpenAccessFilters$ | async'>
-            <ng-container *ngIf='publisherOpenAccessFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("publisherOpenAccessCode", publisherOpenAccessFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{publisherOpenAccessFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let publisherOpenAccessFilter of enabledPublisherOpenAccessFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("publisherOpenAccessCode", publisherOpenAccessFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{publisherOpenAccessFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- selfArchivedCode -->
-          <ng-container *ngFor='let selfArchivedCodeFilter of selfArchivedCodeFilters$ | async'>
-            <ng-container *ngIf='selfArchivedCodeFilter.enabled'>
-
-              <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("selfArchivedCode", selfArchivedCodeFilter.id)'>
-                <div style='font-size: 0.8rem; padding-left: 8px'>{{selfArchivedCodeFilter.name}}</div>
-                <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
-              </div>
-
-            </ng-container>
+          <ng-container *ngFor='let selfArchivedCodeFilter of enabledSelfArchivedCodeFiltersWithNames$ | async'>
+            <div style='display: inline-flex; align-items: center; background-color: white; border: 2px solid #4546b9; padding: 7px 3px; border-radius: 4px; cursor: pointer; font-weight: bold; margin: 4px' (click)='toggleParam("selfArchivedCode", selfArchivedCodeFilter.id)'>
+              <div style='font-size: 0.8rem; padding-left: 8px'>{{selfArchivedCodeFilter.name}}</div>
+              <i class='fa fa-times' style='padding-left: 7px; padding-right: 8px' aria-hidden='true'></i>
+            </div>
           </ng-container>
 
           <!-- make "pill" for running clearFilters -->
diff --git a/src/app/portal/components/results/publications2/publications2.component.ts b/src/app/portal/components/results/publications2/publications2.component.ts
index 753efc1f0..69d842b9a 100644
--- a/src/app/portal/components/results/publications2/publications2.component.ts
+++ b/src/app/portal/components/results/publications2/publications2.component.ts
@@ -46,7 +46,7 @@ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
   templateUrl: './publications2.component.html',
   styleUrls: ['./publications2.component.scss'],
   imports: [CdkTableModule, FormsModule, AsyncPipe, JsonPipe, NgForOf, NgIf, LimitPipe, NgArrayPipesModule,
-    SharedModule, //TODO not good?
+    SharedModule, //TODO do not depend on shared module
     FormsModule,
     RouterModule,
     SearchBar2Component, OrganizationFilterComponent, FilterOptionComponent, CollapsibleComponent, MatButtonModule, NgStyle, FilterLimitButtonComponent, FirstDigitPipe, FirstLetterPipe, RouterLink,
@@ -117,9 +117,6 @@ export class Publications2Component implements OnDestroy {
     {id: "I", text: $localize`:@@publicationClassI:Audiovisuaaliset julkaisut ja tieto- ja viestintätekniset sovellukset`},
   ];
 
-  filterCount$ = new BehaviorSubject(0);
-  filterCountLookup: Record<string, number> = {};
-
   faSlidersH = faSlidersH;
   faChartBar = faChartBar;
 
@@ -137,13 +134,6 @@ export class Publications2Component implements OnDestroy {
     this.dialogRef?.close();
   }
 
-  updateFilterCount(key: string, value: number) {
-    this.filterCountLookup[key] = value;
-    const count = Object.values(this.filterCountLookup).reduce((a, b) => a + b, 0);
-
-    this.filterCount$.next(count);
-  }
-
   clearFilters() {
     this.router.navigate([], {
       relativeTo: this.route,
@@ -172,13 +162,14 @@ export class Publications2Component implements OnDestroy {
     map(aggs => aggs.sort((a, b) => b.year - a.year))
   );
 
-  yearFilters$ = combineLatest([this.yearAdditions$, this.searchParams$.pipe(map(params => params.year ?? []))]).pipe(
+  enabledYearFilters$ = this.searchParams$.pipe(map(params => params.year ?? []));
+
+  yearFilters$ = combineLatest([this.yearAdditions$, this.enabledYearFilters$]).pipe(
     map(([yearAdditions, enabledFilters]) => yearAdditions.map(yearAddition => ({
       year: yearAddition.year,
       count: yearAddition.count,
       enabled: enabledFilters.includes(yearAddition.year.toString())
-    }))),
-    tap(filters => this.updateFilterCount("year", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   organizationNames$ = this.publications2Service.getOrganizationNames();
@@ -188,15 +179,20 @@ export class Publications2Component implements OnDestroy {
     map(aggs => aggs.sort((a, b) => b.count - a.count))
   );
 
-  organizationFilters$ = combineLatest([this.organizationAdditions$, this.organizationNames$, this.searchParams$.pipe(map(params => params.organization ?? []))]).pipe(
+  enabledOrganizationFilters$ = this.searchParams$.pipe(map(params => params.organization ?? []));
+
+  enabledOrganizationFiltersWithNames$ = combineLatest([this.enabledOrganizationFilters$, this.organizationNames$]).pipe(
+    map(([enabledFilters, organizationNames]) => enabledFilters.map(filter => ({ id: filter, name: organizationNames[filter].name })))
+  );
+
+  organizationFilters$ = combineLatest([this.organizationAdditions$, this.organizationNames$, this.enabledOrganizationFilters$]).pipe(
     map(([organizationAdditions, organizationNames, enabledFilters]) => organizationAdditions.map(organizationAddition => ({
       id: organizationAddition.id,
       count: organizationAddition.count,
       name: organizationNames[organizationAddition.id].name,
       sectorId: organizationNames[organizationAddition.id].sectorId,
       enabled: enabledFilters.includes(organizationAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("organization", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   languageCodeAdditions$ = this.aggregations$.pipe(
@@ -206,14 +202,19 @@ export class Publications2Component implements OnDestroy {
 
   languageCodeNames$ = this.publications2Service.getLanguageCodeNames();
 
-  languageCodeFilters$ = combineLatest([this.languageCodeAdditions$, this.languageCodeNames$, this.searchParams$.pipe(map(params => params.language ?? []))]).pipe(
+  enabledLanguageCodeFilters$ = this.searchParams$.pipe(map(params => params.language ?? []));
+
+  enabledLanguageCodeFiltersWithNames$ = combineLatest([this.enabledLanguageCodeFilters$, this.languageCodeNames$]).pipe(
+    map(([enabledFilters, languageCodeNames]) => enabledFilters.map(filter => ({ id: filter, name: languageCodeNames[filter] })))
+  );
+
+  languageCodeFilters$ = combineLatest([this.languageCodeAdditions$, this.languageCodeNames$, this.enabledLanguageCodeFilters$]).pipe(
     map(([languageCodeAdditions, languageCodeNames, enabledFilters]) => languageCodeAdditions.map(languageCodeAddition => ({
       id: languageCodeAddition.languageCode,
       count: languageCodeAddition.count,
       name: languageCodeNames[languageCodeAddition.languageCode],
       enabled: enabledFilters.includes(languageCodeAddition.languageCode)
-    }))),
-    tap(filters => this.updateFilterCount("language", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   publicationFormatNames$ = this.publications2Service.getPublicationFormatNames();
@@ -224,14 +225,19 @@ export class Publications2Component implements OnDestroy {
     map(aggs => aggs.sort((a, b) => b.count - a.count))
   );
 
-  publicationFormatFilters$ = combineLatest([this.publicationFormatAdditions$, this.publicationFormatNames$, this.searchParams$.pipe(map(params => params.format ?? []))]).pipe(
+  enabledPublicationFormatFilters$ = this.searchParams$.pipe(map(params => params.format ?? []));
+
+  enabledPublicationFormatFiltersWithNames$ = combineLatest([this.enabledPublicationFormatFilters$, this.publicationFormatNames$]).pipe(
+    map(([enabledFilters, publicationFormatNames]) => enabledFilters.map(filter => ({ id: filter, name: publicationFormatNames[filter] })))
+  );
+
+  publicationFormatFilters$ = combineLatest([this.publicationFormatAdditions$, this.publicationFormatNames$, this.enabledPublicationFormatFilters$]).pipe(
     map(([publicationFormatAdditions, publicationFormatNames, enabledFilters]) => publicationFormatAdditions.map(publicationFormatAddition => ({
       id: publicationFormatAddition.id,
       count: publicationFormatAddition.count,
       name: publicationFormatNames[publicationFormatAddition.id],
       enabled: enabledFilters.includes(publicationFormatAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("format", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   publicationAudienceNames$ = this.publications2Service.getPublicationAudienceNames();
@@ -242,14 +248,19 @@ export class Publications2Component implements OnDestroy {
     map(aggs => aggs.sort((a, b) => b.count - a.count))
   );
 
-  publicationAudienceFilters$ = combineLatest([this.publicationAudienceAdditions$, this.publicationAudienceNames$, this.searchParams$.pipe(map(params => params.audience ?? []))]).pipe(
+  enabledPublicationAudienceFilters$ = this.searchParams$.pipe(map(params => params.audience ?? []));
+
+  enabledPublicationAudienceFiltersWithNames$ = combineLatest([this.enabledPublicationAudienceFilters$, this.publicationAudienceNames$]).pipe(
+    map(([enabledFilters, publicationAudienceNames]) => enabledFilters.map(filter => ({ id: filter, name: publicationAudienceNames[filter] })))
+  );
+
+  publicationAudienceFilters$ = combineLatest([this.publicationAudienceAdditions$, this.publicationAudienceNames$, this.enabledPublicationAudienceFilters$]).pipe(
     map(([publicationAudienceAdditions, publicationAudienceNames, enabledFilters]) => publicationAudienceAdditions.map(publicationAudienceAddition => ({
       id: publicationAudienceAddition.id,
       count: publicationAudienceAddition.count,
       name: publicationAudienceNames[publicationAudienceAddition.id],
       enabled: enabledFilters.includes(publicationAudienceAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("audience", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   peerReviewedAdditions$ = this.aggregations$.pipe(
@@ -260,14 +271,19 @@ export class Publications2Component implements OnDestroy {
 
   peerReviewedNames$ = this.publications2Service.getPeerReviewedNames();
 
-  peerReviewedFilters$ = combineLatest([this.peerReviewedAdditions$, this.peerReviewedNames$, this.searchParams$.pipe(map(params => params.peerReviewed ?? []))]).pipe(
+  enabledPeerReviewedFilters$ = this.searchParams$.pipe(map(params => params.peerReviewed ?? []));
+
+  enabledPeerReviewedFiltersWithNames$ = combineLatest([this.enabledPeerReviewedFilters$, this.peerReviewedNames$]).pipe(
+    map(([enabledFilters, peerReviewedNames]) => enabledFilters.map(filter => ({ id: filter, name: peerReviewedNames[filter] })))
+  );
+
+  peerReviewedFilters$ = combineLatest([this.peerReviewedAdditions$, this.peerReviewedNames$, this.enabledPeerReviewedFilters$]).pipe(
     map(([peerReviewedAdditions, peerReviewedNames, enabledFilters]) => peerReviewedAdditions.map(peerReviewedAddition => ({
       id: peerReviewedAddition.id,
       count: peerReviewedAddition.count,
       name: peerReviewedNames[peerReviewedAddition.id],
       enabled: enabledFilters.includes(peerReviewedAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("peerReviewed", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   parentPublicationTypeAdditions$ = this.aggregations$.pipe(
@@ -284,14 +300,19 @@ export class Publications2Component implements OnDestroy {
 
   publisherInternationalityNames$ = this.publications2Service.getInternationalPublicationNames();
 
-  publisherInternationalityFilters$ = combineLatest([this.publisherInternationalityAdditions$, this.publisherInternationalityNames$, this.searchParams$.pipe(map(params => params.international ?? []))]).pipe(
+  enabledPublisherInternationalityFilters$ = this.searchParams$.pipe(map(params => params.international ?? []));
+
+  enabledPublisherInternationalityFiltersWithNames$ = combineLatest([this.enabledPublisherInternationalityFilters$, this.publisherInternationalityNames$]).pipe(
+    map(([enabledFilters, publisherInternationalityNames]) => enabledFilters.map(filter => ({ id: filter, name: publisherInternationalityNames[filter] })))
+  );
+
+  publisherInternationalityFilters$ = combineLatest([this.publisherInternationalityAdditions$, this.publisherInternationalityNames$, this.enabledPublisherInternationalityFilters$]).pipe(
     map(([internationalPublicationAdditions, internationalPublicationNames, enabledFilters]) => internationalPublicationAdditions.map(internationalPublicationAddition => ({
       id: internationalPublicationAddition.id,
       count: internationalPublicationAddition.count,
       name: internationalPublicationNames[internationalPublicationAddition.id],
       enabled: enabledFilters.includes(internationalPublicationAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("international", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   articleTypeCodeAdditions$ = this.aggregations$.pipe(
@@ -301,14 +322,19 @@ export class Publications2Component implements OnDestroy {
 
   articleTypeCodeNames$ = this.publications2Service.getArticleTypeCodeNames();
 
-  articleTypeCodeFilters$ = combineLatest([this.articleTypeCodeAdditions$, this.articleTypeCodeNames$, this.searchParams$.pipe(map(params => params.articleType ?? []))]).pipe(
+  enabledArticleTypeCodeFilters$ = this.searchParams$.pipe(map(params => params.articleType ?? []));
+
+  enabledArticleTypeCodeFiltersWithNames$ = combineLatest([this.enabledArticleTypeCodeFilters$, this.articleTypeCodeNames$]).pipe(
+    map(([enabledFilters, articleTypeCodeNames]) => enabledFilters.map(filter => ({ id: filter, name: articleTypeCodeNames[filter] })))
+  );
+
+  articleTypeCodeFilters$ = combineLatest([this.articleTypeCodeAdditions$, this.articleTypeCodeNames$, this.enabledArticleTypeCodeFilters$]).pipe(
     map(([articleTypeCodeAdditions, articleTypeCodeNames, enabledFilters]) => articleTypeCodeAdditions.map(articleTypeCodeAddition => ({
       id: articleTypeCodeAddition.id,
       count: articleTypeCodeAddition.count,
       name: articleTypeCodeNames[articleTypeCodeAddition.id],
       enabled: enabledFilters.includes(articleTypeCodeAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("articleType", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   jufoClassCodeAdditions$ = this.aggregations$.pipe(
@@ -316,14 +342,15 @@ export class Publications2Component implements OnDestroy {
     map(aggs => aggs.sort((a, b) => b.count - a.count))
   );
 
-  jufoClassCodeFilters$ = combineLatest([this.jufoClassCodeAdditions$, this.searchParams$.pipe(map(params => params.jufo ?? []))]).pipe(
+  enabledJufoClassCodeFilters$ = this.searchParams$.pipe(map(params => params.jufo ?? []));
+
+  jufoClassCodeFilters$ = combineLatest([this.jufoClassCodeAdditions$, this.enabledJufoClassCodeFilters$]).pipe(
     map(([jufoClassCodeAdditions, enabledFilters]) => jufoClassCodeAdditions.map(jufoClassCodeAddition => ({
       id: jufoClassCodeAddition.id,
       count: jufoClassCodeAddition.count,
       name: jufoClassCodeAddition.id,
       enabled: enabledFilters.includes(jufoClassCodeAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("jufo", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   fieldsOfScienceNames$ = this.publications2Service.getFieldsOfScienceNames();
@@ -333,14 +360,19 @@ export class Publications2Component implements OnDestroy {
     map(aggs => aggs.sort((a, b) => b.count - a.count))
   );
 
-  fieldsOfScienceFilters$ = combineLatest([this.fieldsOfScienceAdditions$, this.fieldsOfScienceNames$, this.searchParams$.pipe(map(params => params.fieldsOfScience ?? []))]).pipe(
+  enabledFieldsOfScienceFilters$ = this.searchParams$.pipe(map(params => params.fieldsOfScience ?? []));
+
+  enabledFieldsOfScienceFiltersWithNames$ = combineLatest([this.enabledFieldsOfScienceFilters$, this.fieldsOfScienceNames$]).pipe(
+    map(([enabledFilters, fieldsOfScienceNames]) => enabledFilters.map(filter => ({ id: filter, name: fieldsOfScienceNames[filter] })))
+  );
+
+  fieldsOfScienceFilters$ = combineLatest([this.fieldsOfScienceAdditions$, this.fieldsOfScienceNames$, this.enabledFieldsOfScienceFilters$]).pipe(
     map(([fieldsOfScienceAdditions, fieldsOfScienceNames, enabledFilters]) => fieldsOfScienceAdditions.map(fieldsOfScienceAddition => ({
       id: fieldsOfScienceAddition.id,
       count: fieldsOfScienceAddition.count,
       name: fieldsOfScienceNames[fieldsOfScienceAddition.id],
       enabled: enabledFilters.includes(fieldsOfScienceAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("fieldsOfScience", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   publicationTypeCodeNames$ = this.publications2Service.getPublicationTypeCodeNames();
@@ -350,34 +382,36 @@ export class Publications2Component implements OnDestroy {
     map(aggs => aggs.sort((a, b) => b.count - a.count))
   );
 
-  publicationTypeCodeFilters$ = combineLatest([this.publicationTypeCodeAdditions$, this.publicationTypeCodeNames$, this.searchParams$.pipe(map(params => params.publicationTypeCode ?? []))]).pipe(
+  enabledPublicationTypeCodeFilters$ = this.searchParams$.pipe(map(params => params.publicationTypeCode ?? []));
+
+  enabledPublicationTypeCodeFiltersWithNames$ = combineLatest([this.enabledPublicationTypeCodeFilters$, this.publicationTypeCodeNames$]).pipe(
+    map(([enabledFilters, publicationTypeCodeNames]) => enabledFilters.map(filter => ({ id: filter, name: publicationTypeCodeNames[filter] })))
+  );
+
+  publicationTypeCodeFilters$ = combineLatest([this.publicationTypeCodeAdditions$, this.publicationTypeCodeNames$, this.enabledPublicationTypeCodeFilters$]).pipe(
     map(([publicationTypeCodeAdditions, publicationTypeCodeNames, enabledFilters]) => publicationTypeCodeAdditions.map(publicationTypeCodeAddition => ({
       id: publicationTypeCodeAddition.id,
       count: publicationTypeCodeAddition.count,
       name: publicationTypeCodeNames[publicationTypeCodeAddition.id],
       enabled: enabledFilters.includes(publicationTypeCodeAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("publicationTypeCode", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
-  // getParentPublicationTypeNames
-  // getInternationalPublicationNames
-  // getArticleTypeCodeNames
-
   parentPublicationTypeNames$ = this.publications2Service.getParentPublicationTypeNames();
 
-  // TODO these give just ids and not names
-  // internationalPublicationNames$ = this.publications2Service.getInternationalPublicationNames();
-  // articleTypeCodeNames$ = this.publications2Service.getArticleTypeCodeNames();
+  enabledParentPublicationTypeFilters$ = this.searchParams$.pipe(map(params => params.parentPublicationType ?? []));
+
+  enabledParentPublicationTypeFiltersWithNames$ = combineLatest([this.enabledParentPublicationTypeFilters$, this.parentPublicationTypeNames$]).pipe(
+    map(([enabledFilters, parentPublicationTypeNames]) => enabledFilters.map(filter => ({ id: filter, name: parentPublicationTypeNames[filter] })))
+  );
 
-  parentPublicationTypeFilters$ = combineLatest([this.parentPublicationTypeAdditions$, this.parentPublicationTypeNames$, this.searchParams$.pipe(map(params => params.parentPublicationType ?? []))]).pipe(
+  parentPublicationTypeFilters$ = combineLatest([this.parentPublicationTypeAdditions$, this.parentPublicationTypeNames$, this.enabledParentPublicationTypeFilters$]).pipe(
     map(([parentPublicationTypeAdditions, parentPublicationTypeNames, enabledFilters]) => parentPublicationTypeAdditions.map(parentPublicationTypeAddition => ({
       id: parentPublicationTypeAddition.id,
       count: parentPublicationTypeAddition.count,
       name: parentPublicationTypeNames[parentPublicationTypeAddition.id],
       enabled: enabledFilters.includes(parentPublicationTypeAddition.id)
-    }))),
-    tap(filters => this.updateFilterCount("parentPublicationType", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   additionsFromOpenAccess$ = this.aggregations$.pipe(
@@ -385,17 +419,21 @@ export class Publications2Component implements OnDestroy {
     map(aggs => aggs.sort((a, b) => b.count - a.count))
   );
 
-  // names
   openAccessNames$ = this.publications2Service.getOpenAccessNames();
 
-  openAccessFilters$ = combineLatest([this.additionsFromOpenAccess$, this.openAccessNames$, this.searchParams$.pipe(map(params => params.openAccess ?? []))]).pipe(
+  enabledOpenAccessFilters$ = this.searchParams$.pipe(map(params => params.openAccess ?? []));
+
+  enabledOpenAccessFiltersWithNames$ = combineLatest([this.enabledOpenAccessFilters$, this.openAccessNames$]).pipe(
+    map(([enabledFilters, openAccessNames]) => enabledFilters.map(filter => ({ id: filter, name: openAccessNames[filter] })))
+  );
+
+  openAccessFilters$ = combineLatest([this.additionsFromOpenAccess$, this.openAccessNames$, this.enabledOpenAccessFilters$]).pipe(
     map(([additionsFromOpenAccess, openAccessNames, enabledFilters]) => additionsFromOpenAccess.map(additionFromOpenAccess => ({
       id: additionFromOpenAccess.id,
       count: additionFromOpenAccess.count,
       name: openAccessNames[additionFromOpenAccess.id],
       enabled: enabledFilters.includes(additionFromOpenAccess.id)
-    }))),
-    tap(filters => this.updateFilterCount("openAccess", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   additionsFromPublisherOpenAccess$ = this.aggregations$.pipe(
@@ -405,14 +443,19 @@ export class Publications2Component implements OnDestroy {
 
   publisherOpenAccessNames$ = this.publications2Service.getPublisherOpenAccessNames();
 
-  publisherOpenAccessFilters$ = combineLatest([this.additionsFromPublisherOpenAccess$, this.publisherOpenAccessNames$, this.searchParams$.pipe(map(params => params.publisherOpenAccessCode ?? []))]).pipe(
+  enabledPublisherOpenAccessFilters$ = this.searchParams$.pipe(map(params => params.publisherOpenAccessCode ?? []));
+
+  enabledPublisherOpenAccessFiltersWithNames$ = combineLatest([this.enabledPublisherOpenAccessFilters$, this.publisherOpenAccessNames$]).pipe(
+    map(([enabledFilters, publisherOpenAccessNames]) => enabledFilters.map(filter => ({ id: filter, name: publisherOpenAccessNames[filter] })))
+  );
+
+  publisherOpenAccessFilters$ = combineLatest([this.additionsFromPublisherOpenAccess$, this.publisherOpenAccessNames$, this.enabledPublisherOpenAccessFilters$]).pipe(
     map(([additionsFromPublisherOpenAccess, publisherOpenAccessNames, enabledFilters]) => additionsFromPublisherOpenAccess.map(additionFromPublisherOpenAccess => ({
       id: additionFromPublisherOpenAccess.id,
       count: additionFromPublisherOpenAccess.count,
       name: publisherOpenAccessNames[additionFromPublisherOpenAccess.id],
       enabled: enabledFilters.includes(additionFromPublisherOpenAccess.id)
-    }))),
-    tap(filters => this.updateFilterCount("publisherOpenAccess", filters.filter(filter => filter.enabled).length))
+    })))
   );
 
   additionsFromSelfArchivedCode$ = this.aggregations$.pipe(
@@ -422,14 +465,23 @@ export class Publications2Component implements OnDestroy {
 
   selfArchivedCodeNames$ = this.publications2Service.getSelfArchivedCodeNames();
 
-  selfArchivedCodeFilters$ = combineLatest([this.additionsFromSelfArchivedCode$, this.selfArchivedCodeNames$, this.searchParams$.pipe(map(params => params.selfArchivedCode ?? []))]).pipe(
+  enabledSelfArchivedCodeFilters$ = this.searchParams$.pipe(map(params => params.selfArchivedCode ?? []));
+
+  enabledSelfArchivedCodeFiltersWithNames$ = combineLatest([this.enabledSelfArchivedCodeFilters$, this.selfArchivedCodeNames$]).pipe(
+    map(([enabledFilters, selfArchivedCodeNames]) => enabledFilters.map(filter => ({ id: filter, name: selfArchivedCodeNames[filter] })))
+  );
+
+  selfArchivedCodeFilters$ = combineLatest([this.additionsFromSelfArchivedCode$, this.selfArchivedCodeNames$, this.enabledSelfArchivedCodeFilters$]).pipe(
     map(([additionsFromSelfArchivedCode, selfArchivedCodeNames, enabledFilters]) => additionsFromSelfArchivedCode.map(additionFromSelfArchivedCode => ({
       id: additionFromSelfArchivedCode.id,
       count: additionFromSelfArchivedCode.count,
       name: selfArchivedCodeNames[additionFromSelfArchivedCode.id],
       enabled: enabledFilters.includes(additionFromSelfArchivedCode.id)
-    }))),
-    tap(filters => this.updateFilterCount("selfArchivedCode", filters.filter(filter => filter.enabled).length))
+    })))
+  );
+
+  searchTermsCount$ = this.searchParams$.pipe(
+    map(params => Object.keys(params).filter(key => !['q', 'page', 'size', 'sort'].includes(key)).reduce((acc, key) => acc + params[key].length, 0))
   );
 
   public mainFieldOfScienceName = {
@@ -552,7 +604,7 @@ export class Publications2Component implements OnDestroy {
     });
   }
 
-  searchKeywords(keywords: string) {
+  setKeywords(keywords: string) {
     this.router.navigate([], {
       relativeTo: this.route,
       // skipLocationChange: true,
@@ -566,11 +618,13 @@ export class Publications2Component implements OnDestroy {
     });
   }
 
-  nextPage() { // TODO CLEAN UP
+  nextPage() {
     this.searchParams$.pipe(take(1)).subscribe(searchParams => {
       const queryParams = { ...searchParams };
+
       const page = parseInt(queryParams.page?.[0] ?? "1");
       queryParams.page = [`${page + 1}`];
+
       this.router.navigate([], {
         relativeTo: this.route,
         // skipLocationChange: true,
@@ -579,11 +633,13 @@ export class Publications2Component implements OnDestroy {
     });
   }
 
-  previousPage() { // TODO CLEAN UP
+  previousPage() {
     this.searchParams$.pipe(take(1)).subscribe(searchParams => {
       const queryParams = { ...searchParams };
+
       const page = parseInt(queryParams.page?.[0] ?? "1");
       queryParams.page = [`${page - 1}`];
+
       this.router.navigate([], {
         relativeTo: this.route,
         // skipLocationChange: true,
diff --git a/src/app/portal/search-bar2/search-bar2.component.html b/src/app/portal/search-bar2/search-bar2.component.html
index 9e913e905..fbfc672b0 100644
--- a/src/app/portal/search-bar2/search-bar2.component.html
+++ b/src/app/portal/search-bar2/search-bar2.component.html
@@ -10,6 +10,7 @@
   <input
     [ngModel]='value'
     (ngModelChange)='valueChange.emit($event)'
+    (keyup.enter)='search.emit(keywords)'
     class='search-input'
     style='margin-right: 8px'
     type='search'