Github mirror of "search/extra" - our actual code is hosted with Gerrit (please see for contributing
nomoa [maven-release-plugin] prepare for next development iteration
Change-Id: Ifa0a9864e70a5105d9fc548c4fee63bb757af63f
Latest commit bc45091 Jul 17, 2018

Extra Queries and Filters Build Status

The plan is for this to include any extra queries, filters, native scripts, score functions, and anything else we think we end up creating to make search nice for Wikimedia. It contains 2 diffferent plugins:


The extra plugin contains utilities that are generally useful.


  • source_regex - An nGram accelerated regular expression filter that is generally much much faster than sequentially checking all documents.
  • token_count_router - Simple query wrapper that evaluates some conditions based on the number of tokens of the input query.
  • simswitcher - Simple query wrapper that allows to override similarity settings at query time (expert: use with caution). * term_freq - Simple term query with filtering based on term frequency.

Native Scripts:

  • super_detect_noop - Like detect_noop but supports configurable sloppiness. New in 1.5.0, 1.4.1, and 1.3.1.


  • preserve_original - A token filter that wraps a filter chain to keep and emit the original term at the same position. New in 2.3.4.
  • term_freq - A token filter to populate the term frequency from the input string. New in


This plugin contains a Slovak stemmer.


  • slovak_stemmer - A token filter that provides stemming for the Slovak language. New in


Extra Queries and Filters Plugin ElasticSearch
6.3.1, master branch 6.3.1
6.3.0 6.3.0 5.5.2
5.5.2 5.5.2
5.3.2 5.3.2
5.2.2 5.2.2
5.2.1 5.2.1
5.2.0 5.2.0
5.1.2 5.1.2
2.4.1, 2.4 branch 2.4.1
2.4.0 2.4.0
2.3.5, 2.3 branch 2.3.5
2.3.4 2.3.4

Install it like so for Elasticsearch x.y.z:

<= 2.4.1

./bin/plugin --install

>= 5.1.2

./bin/elasticsearch-plugin install
./bin/elasticsearch-plugin install


Spotbugs is run during the verify phase of the build to find common issues. The build will break if any issue is found. The issues will be reported on the console.

To run just the check, use mvn spotbugs:check on a project that was already compiled (mvn compile). mvn spotbugs:gui will provide a graphical UI that might be easier to read.

Like all tools, spotbugs is much dumber than you. If you find a false positive, you can ignore it with the @SuppressFBWarnings annotation. You can provide a justification to make document why this rule should be ignored in this specific case. Some rules don't make sense for this project and they can be ignored via src/dev-tools/spotbugs-excludes.xml.