[ 
https://issues.apache.org/jira/browse/GSOC-286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Irwin updated GSOC-286:
----------------------------
    Priority: Normal  (was: Major)

> Apache Lucene.NET: Replicator and Dependency Injection Enhancements
> -------------------------------------------------------------------
>
>                 Key: GSOC-286
>                 URL: https://issues.apache.org/jira/browse/GSOC-286
>             Project: Comdev GSOC
>          Issue Type: New Feature
>            Reporter: Paul Irwin
>            Priority: Normal
>              Labels: Lucene.NET, LuceneNet, gsoc, gsoc2025, mentor
>
> *Background and Goal*
> Apache Lucene.NET is a .NET port of the Apache Lucene search engine 
> (originally written in Java). This powerful library enables indexing and 
> searching of documents with custom queries, making it a core component in 
> many production environments. With over 100 million NuGet downloads, 
> Lucene.NET is utilized in diverse scenarios, from local search functionality 
> in mobile apps to supporting large-scale cloud infrastructures.
> Lucene.NET already provides a foundation for replicating a search index from 
> a primary node to one or more replica nodes, enabling High Availability (HA) 
> and scalability through load balancing. Currently, our 
> Lucene.Net.Replicator.AspNetCore project offers minimal replication support 
> for ASP.NET Core servers, but it remains unpublished on NuGet and lacks the 
> robustness required for most use cases. Your focus for this project will be 
> to enhance and finalize the ASP.NET Core library, ensuring a seamless user 
> experience by adhering to best practices and making replication setup as 
> straightforward as possible – ideally requiring just one line of code.
> Additionally, users may need replication support for applications outside 
> ASP.NET Core, such as cloud-based distributed architectures, Windows 
> services, or command-line tools running on Linux. To address this, we propose 
> creating modular intermediate libraries using 
> Microsoft.Extensions.DependencyInjection.Abstractions, enabling flexible and 
> reusable replication configurations. This approach should also ensure that 
> essential components like IndexWriter and IndexReader are configured in a 
> straightforward and user-friendly manner.
> Your task will also include creating one or more sample projects that 
> demonstrate how to effectively use the enhanced replication functionality. 
> These projects should serve as practical, real-world examples for the 
> community, showcasing best practices and ease of use. Additionally, you will 
> be responsible for thoroughly testing the code changes to ensure they work as 
> intended in real-world scenarios. This includes writing comprehensive unit 
> tests to guarantee the reliability and quality of the solution.
> We plan for this to be a hands-on mentorship, and we will set up any 
> infrastructure for you. As a contributor, your responsibilities will include 
> analyzing the problem, developing a detailed plan, refining it with input 
> from the project team, and collaborating regularly to implement the solution 
> through pull requests and code reviews.
> *Relevant Skills*
>  * Familiarity with C# and unit testing
>  * Strong grasp of design patterns and practices, such as dependency 
> injection and i.e. the fluent builder and abstract factory patterns
>  * Basic understanding of HTTP(S) and networking
>  * Not required, but good to have:
>  ** Familiarity with ASP.NET Core 5 or later
>  ** Understanding of distributed architectures
>  ** Familiarity with Lucene(.NET) search indexes
>  
> {*}Difficulty{*}: Medium
> {*}Project Size{*}: ~175 hour (part-time)
> {*}Potential Mentors{*}:
>  * Paul Irwin, paulir...@apache.org
>  * Project Devs, d...@lucenenet.apache.org



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: gsoc-unsubscr...@community.apache.org
For additional commands, e-mail: gsoc-h...@community.apache.org

Reply via email to