/luke

This is mavenised Luke: Lucene Toolbox Project

Primary LanguageJavaApache License 2.0Apache-2.0

TravisCI Github All Releases

IMPORTANT NOTICE

Please see:

Luke become an Apache Lucene module (as of Lucene 8.1)!

This repository is no longer maintained. Please download Lucene binary release package to get the latest Luke (8.1+).

For contributors: Now Luke is a part of Apache Lucene, issues should be opened in the Apache Lucene Jira.

luke

Luke, the Lucene Toolbox Project + Swing Java

Luke atop Swing.

Luke is the GUI tool for introspecting your Lucene / Solr / Elasticsearch index. It allows:

  • Browsing your documents, indexed terms and posting lists
  • Searching in the index
  • Performing index maintenance: index health checking, index optimization (take a backup before running this!)
  • Testing your custom Lucene analyzer (Tokenizer/CharFilter/TokenFilter)

Swing Luke

System Requirements

JDK8+ is required. Works fine on JDK11.

Launching luke

From source code

  1. Clone the repository.
  2. Run mvn install from the project directory. (Make sure you have Java and Maven installed before doing this)
  3. Use luke.sh or luke.bat for launching luke from the command line based on the OS you are in.

Using a release

releases page contains stable releases of luke. Download the respective release, unpack and run a shell or batch scripts (or directly with java -jar if you prefer it that way).

Recent Changes

See CHANGES.txt

Luke discussion group

Luke google group

Search engines luke can deal with

In no particular order:

  • Apache Lucene. Most certainly luke can open lucene index produced by pure Lucene. Do people make pure Lucene indices these days?
  • Apache Solr. Solr and Lucene share the same code base, so it is natural that luke can open Lucene Index produced by Solr.
  • Elasticsearch. Elasticsearch uses Lucene as its lowest-level search engine base. So luke can open its index too!

Intro video about features

This lightning talk was delivered by Dmitry Kan on ApacheCon 2015 in Austin, Texas. ScreenShot

Brief project history

  • The original author is Andrzej Bialecki
  • The project has been mavenized by Neil Ireson (see google group discussion here)
  • The project has been ported to Lucene trunk (marked as 5.0 at the time) by Dmitry Kan
  • The project has been back-ported to Lucene 4.3 by sonarname, who later decided not to continue supporting the project
  • There are updates to the (non-mavenized) project done by tarzanek
  • The UI (and core components) has been re-implemented on top of JavaFX / Swing by Tomoko Uchida.

This project's goal

  1. Keep the project mavenized (compatible with Apache Lucene and Solr style)
  2. To port the thinlet UI to an ASL compliant license framework so that it can be contributed back to Apache Lucene. Current work is done with Swing.
  3. Maintain a single point of trust for the development and updates of the tool. That said, everyone is welcome to join.

Committers

Documentation

The documentation is being written along the way of discovering the luke's usage scenarios.

https://github.com/DmitryKey/luke/wiki

You are free and welcome to contribute you findings!

Feature / bug fix requests

Found bug? Missing a useful feature? Raise an issue here:

https://github.com/DmitryKey/luke/issues

Or, and btw, the pull requests are welcome as well!

Releases

All of the releases you find under the "releases" link above are versioned after the Lucene's version they use.

Usually we don't do releases for minor version upgrades, because the major release usually can read the index of the next minor release.

An example: lucene 4.8.0 can read the index generated by lucene 4.8.1. Hence luke 4.8.0 can read too.

Conclusion: in order to find a luke release that can read an index of your version of Lucene, pick the closest major version and download luke for that from the releases page.

Where is (legacy) Thinlet version luke?

luke-thinlet branch holds Thinlet version. From version 7.3.1, the main branch is running JavaFX (later, it was switched to Swing) version luke and Thinlet version is not maintained/updated. Please do not create issues or send pull requests to this branch.

Where is luke 4.4.0 ?

There is no separate luke 4.4.0 release, but luke 4.5.0 should open the Lucene 4.4.0 index just fine.

Licensing

This software is distributed under ALv2, and includes The Elegant Icon Font which is licensed under the MIT.

Donation

If you enjoy using luke you can consider buying us a cup of tea / coffee :) paypal

Credits

We would like to express our gratitude to JetBrains for their support of luke with awesome suit of IDEs, in particular: Intellij IDEA.

Thank you! JetBrains