[ https://issues.apache.org/jira/browse/GSOC-286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Irwin updated GSOC-286: ---------------------------- Labels: Lucene.NET LuceneNet gsoc gsoc2025 mentor (was: Lucene.NET gsoc gsoc2025 mentor) > 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: Major > 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