[ https://issues.apache.org/jira/browse/GSOC-286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Irwin updated GSOC-286: ---------------------------- Description: *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 was: *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 > 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, part-time > > *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 -- 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