Search

Open Source Contributions

Sease strongly believes in Open source as a way to build a sustainable model for human progress.
If you are curious about Sease Open source projects you find them under our company GitHub account.
Our team is actively supporting the public mailing lists and continuously contributing code back to the community.

Here you can find a list of some of our biggest works.

Products

These are the open-source products we have developed and contributed to over the years. They reflect our commitment to advancing Information Retrieval through practical, production-ready solutions that are freely available to the community.

Dataset generator

Dataset Generator is an open-source CLI tool designed to automate the generation of relevance datasets for search evaluation. It leverages Large Language Models (LLMs) to generate natural language and keyword-based queries, and assign relevance ratings, reducing the manual effort required.

It supports Apache Solr, Elasticsearch, OpenSearch, and Vespa, and exports datasets in formats compatible with Quepid, RRE, and MTEB.

Latest: Added support for LLM-powered query generation, automated relevance rating, configurable dataset generation workflows, and explainability through stored LLM rating explanations.

vector search doctor

Vector Search Doctor is an open-source framework for evaluating vector search on your own datasets. It extends the MTEB evaluation logic with custom corpora, queries, and relevance judgments, allowing teams to measure both embedding model quality and approximate nearest neighbor (ANN) search performance in real-world scenarios.

It supports Apache Solr, Elasticsearch, OpenSearch, and Vespa.

Latest: Added the Approximate Search Evaluator to measure how much retrieval quality is preserved by production ANN search compared to the exact-search baseline.

Rated Ranking Evaluator (RRE)

Rated Ranking Evaluator (RRE) is an open-source search quality evaluation framework that helps Search Engineers measure, compare, and improve search relevance over time. By evaluating multiple search configurations against rated datasets, RRE provides objective evidence of search quality improvements through standard Information Retrieval metrics and human-readable reports.

It supports Apache Solr and Elasticsearch, and integrates with existing build pipelines to enable continuous search quality evaluation.

In progress

We are currently working on a series of new projects. As this is a volunteer effort, we welcome and appreciate donations. In gratitude, we will acknowledge each donor by including their name in our contributions.

Apache Solr Retrieval Augmented Generation

Once configured with a Large Language Model (inference can happen locally on a dedicated Language Model Handler component or remotely accessing external APIs) this component will be able to take in input the query, the top-k results as context(coming from lexical, neural ar hybrid search) and use the LLM to craft the perfect answer with citations.

Progress
20%

Apache Solr LLM Query Rewriter

This component has the responsibility of parsing a natural language query and building a structured Solr Query, leveraging the interaction with a configured Large Language Model and the internal Solr index.
The result will be an easy-to-debug new Solr query, that leverages the combined power of the Solr inverted index terms and query expansion and understanding capabilities of LLMs.

Progress
25%

Apache Solr
LLM Highlighter

A highlighter that takes in input a language model and uses it at runtime to build a snippet for each document, with the paragraph of text most relevant to the query.
Not based on lexical keyword matching but on semantic matching of the information requested.

Pending:

  • port from a commercial plugin to the official open source repo.
Progress
65%

Projects contributed

We have successfully completed a series of contributions to the open source community. Check the major ones.

Apache Solr Hybrid Search

Implement various approaches to combine and re-score search results coming from both lexical and neural models.
We’re talking about Reciprocal Rank Fusion algorithms and better support in Learning To Rank for vector similarity as a feature.

Jira Issue: SOLR-17319GitHub PR: #3418

Apache Solr Vector Search

We brought Vector Search to Apache Solr 9.0!
Through the implementation of the k-nearest neighbour search for vectors in Apache Solr, we have enabled the possibility of indexing and searching numerical vectors. You can generate the vectors using deep neural network models such as BERT (or through any other technique that encodes an information need/corpus in numerical format).
It leverages the Navigable Small Graph World Lucene internal implementation.

DONATIONS

Apache SOLR Multi-Valued Vectors

The scope is to give the ability to Apache Solr of indexing multiple vectors per field per document (quite useful when working with nested paragraphs for long documents).

Available from Solr 10.1.

Jira Issues: SOLR-17736 SOLR-18074GitHub PRs: #3316 #4051 #15902 #16082

Apache Solr LLM module for text vectorisation

With the introduction of the LLM module in Apache Solr 9.8, you can configure Solr to talk with an external service to do the text vectorisation for you, offering a transparent semantic search experience end-to-end.

APACHE SOLR LEARNING TO RANK PLUGIN

See all

With the Learning To Rank (or LTR for short) module, you can configure and run machine-learned ranking models in Apache Solr.
We joined the original Bloomberg-led development and have since kept contributing code, talks, and posts.
Latest: In this contribution we introduce a new Learning to Rank feature vectors cache, used for both feature logging and reranking phases. The previous cache implementation is replaced by a more efficient one improving performance and speeding up the search.

Jira Issue: SOLR-16667GitHub PR: #3433

APACHE SOLR VECTOR SEARCH ENHANCEMENTS 

Early Termination Strategy (PatienceKnnVectorQuery)

We introduce PatienceKnnVectorQuery, a version of knn vector query that exits the HNSW graph early when the queue remains saturated beyond a threshold for more than a number of iterations (patience).

Jira Issue: SOLR-17814GitHub PR: #3644

SeededKnnVectorQuery
We introduce SeededKnnVectorQuery, a version of knn vector query that provides a query seed to initiate the vector search.

Jira Issue: SOLR-17813GitHub PR: #3705

ACORN-Based Filtering
This contribution gives users the possibility of disabling/regulating the ACORN behavior, an algorithm that presents an optimized solution for filtered vector search. You can now run a vector search with a new parameter, filteredSearchThreshold, which controls when ACORN optimizations are applied. This allows the system to switch from the baseline algorithm to a more efficient strategy that scores and explores only vectors matching the filtering criteria.

Jira Issue: SOLR-17815GitHub PR: #3680

APACHE SOLR LEARNING TO RANK INTERLEAVING

The Learning To Rank interleaving capability in Apache Solr can be used to mix up the results of different rankers to leverage the users’ implicit feedback and estimate the best ranking function.
We designed and developed the functionality, available from Apache Solr 8.8.

APACHE LUCENE Word2Vec Model To Generate Synonyms

This project contribution to Apache Lucene integrates a Word2Vec model with the text analysis pipeline to generate synonyms based on the values stored in the indexed document fields.

APACHE LUCENE
Weighted Synonyms

The weighted synonyms contribution makes it possible to assign a different weight to each synonym for a word and leverage the configuration to improve the search relevance of your search engine.
We designed and developed the functionality in Apache Lucene and Solr, available from 8.5.

Apache Lucene/Solr
Document Classification

Document classification in Apache Lucene and Solr leverages the internal implementation of text classification to assign tags and classes to entire documents, unsupervised.
We implemented it on top of Lucene text classification and integrated it in Apache Solr, available from 6.1.

APACHE LUCENE/SOLR
MORE LIKE THIS

The More Like This allows returning similar documents to an input document.
We have worked extensively on the feature for many years, from the Lucene and Solr sides, contributing many improvements and bug fixes.