Digging in the Solr code: 5 minutes howto

Let’s say you need to write a component, a request handler, or in general some piece of custom code that needs to be plugged into Solr. Or, you need to have a deeper understanding about some Lucene/Solr internals, following what actually happens within the code.   I know: unit tests, integration tests, everything to make … Continue reading Digging in the Solr code: 5 minutes howto

The Request Handlers Jungle – handleSelect and qt Parameter

The target of this blog post is to shed some light on the topic of request handlers and their relation with the QT request parameter in recent Apache Solr ( >= 7.0). Definitions A Request Handler is defined with a name and a class.It defines an API endpoint to handle and process http requests. The … Continue reading The Request Handlers Jungle – handleSelect and qt Parameter

Apache Solr Facets and ACL Filters Using Tag and Exclusion

What happens with facets aggregations on fields when documents in the results have been filtered by Access Control Lists ?In such scenarios it is important to use the facet mincount parameter.That specifies the minimum count in the result set for a facet value to appear in the response: mincount=0, all the facet values present in … Continue reading Apache Solr Facets and ACL Filters Using Tag and Exclusion

Apache Solr Distributed Facets

Apache Solr distributed faceting feature has been introduced back in 2008 with the first versions of Solr (1.3 according to this jira[1]) . Until now, I always assumed it just worked, without diving too much into the details. Nowadays distributed search and faceting are extremely popular, you can find them pretty much everywhere (in the … Continue reading Apache Solr Distributed Facets

Synonyms and Stopwords: Vademecum

In this post we'll cover two additional synonyms scenarios and we'll try to summarise all previous tips in a coincise form. Following the approach of the previous posts [1] [2] [3], everything can be applied both to Apache Solr and Elasticsearch. Preconditions Synonyms and stopwords at query time: this is not just a "theoretical" constraint; … Continue reading Synonyms and Stopwords: Vademecum

Still Synonyms + Stopwords?? Mamma mia!

The Context Brief recap of where we arrived in the preceding article: we had the following synonyms and stopwords settings: synonyms = {"out of warranty","oow"} stopwords = {"of"} Both of those filters were configured exclusively at query-time; the synonym filter first and then the stopwords filter. Using the built-in StopFilter we had a synonym detection … Continue reading Still Synonyms + Stopwords?? Mamma mia!

Synonyms + Stopwords?? OMG!

The Context The scenario description is quite simple: we want to use synonyms and stopwords. Following the path of our previous article, we will introduce an additional component in the analysis chain: a StopFilter, which, as the name suggests, removes a set of words from an incoming token stream. We will use the following data … Continue reading Synonyms + Stopwords?? OMG!