# GSoC 2024 - Enhanced Search Functionality for OpenELIS - Final Presentation

**URL:** https://talk.openelis-global.org/t/gsoc-2024-enhanced-search-functionality-for-openelis-final-presentation/843
**Category:** GSOC
**Tags:** gsoc2024, gsoc2024-finaleval
**Created:** [August 23, 2024, 7:15pm UTC](https://talk.openelis-global.org/t/gsoc-2024-enhanced-search-functionality-for-openelis-final-presentation/843 "2024-08-23T19:15:53Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![rahul6603](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.openelis-global.org/rahul6603/32/462_2.png) [@rahul6603](https://talk.openelis-global.org/u/rahul6603)
#### Post date: [August 23, 2024, 7:15pm UTC](https://talk.openelis-global.org/t/gsoc-2024-enhanced-search-functionality-for-openelis-final-presentation/843/1 "2024-08-23T19:15:53Z")

</div>

Hello everyone!

I am excited to share the final presentation for my GSoC project. This summer has been an incredible journey of learning and achievements, and I want to share my experiences and the milestones reached.

 ![gsoc-openelis](https://canada1.discourse-cdn.com/flex030/uploads/openelisci/original/1X/90a2fefd20256763c581746293ca92881d910b1c.png)

## Project Overview

**Project Name** - Enhanced Search Functionality for OpenELIS

**Mentor** - @Moses_Mutesasira

**Project Report** - [Github gist link](https://gist.github.com/rahul6603/1359765bedb0fa1957700536516e7ca6)

## Achievements

- Configured the end-to-end setup for Hibernate Search and Lucene index storage
- Mapped _Patient_ and _Person_ entities and their fields to Lucene indexes using appropriate annotations.
- Created a custom normalizer that includes lowercase and ascii-folding filters for the Keyword fields.
- Created new implementations of the search results service layer and DAO interfaces.
- Modified the existing service layer and DAO implementations.
- Implemented Lucene queries in `getSearchResults` and `getSearchResultsExact` methods of `LuceneSearchResultsDAOImpl` class.
- Added support for manually re-indexing the already persisted data using Hibernate Search `MassIndexer` .
- Added unit and integration tests for the newly implemented code.

### Concluding thoughts

I want to extend my heartfelt thanks to my mentor @Moses_Mutesasira for his guidance throughout the summer. His support was key to making this project successful.  
I also want to thank the OpenELIS community, @aditya @Manish @vivekramakrishnakona @mherman22 @Agaba_Derrick_Junior and others, for their support throughout this journey. I look forward to continuing to work together with the OpenELIS community.
