apache / apache/lucene

Luke web interface

Open
#11,851 4 comments 0 reactions 0 assignees View on GitHub
module:luke type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

### Description

I threw together a demo for ApacheCon to show off vector search and I wanted a scrappy UI I could hack on. Luke seemed like a good place to start since it is already in the Lucene build and has a GUI. But I found two problems with it. First, the Swing UI made me feel like I had stepped into a car with Marty McFly; the fonts are not resizable, and there are other things about the app's design that have not aged well (the presentation of fields allows for their definition to vary by document, which they no longer can). Second, I wanted to run the demo on a remote machine (at least at first - I ended up not doing this in the end, but still, that would be a nice feature! and not everybody can tolerate an X Windows connection any more). So I ended up coding up a simple web UI that builds as part of Luke. It uses Luke's existing "models" but replaces the Swing UI with a web service based on the JDK's built-in HTTP server.

I do like the idea of having some kind of minimal UI "baked in" to Lucene that can be used for debugging an index, maybe on a remote machine, or as a basis for some demo. I'd like to propose adding a Luke webapp. I have these principles in mind for it that are nonnegotiable in my mind:

1. No (or very minimal, no more than current Luke) dependencies. (side note: I thought of using Marple, but it isn't up to date and when I tried to get it working I realized node.js was involved, so I backed out. I don't want to get caught up in Javascript frameworks.)

actually that's my only principle. Anyway I'll post what I have.

Contributor guide

Open the contributing guide

Research direction

Review Luke's existing models and Swing UI, then examine the proposed web service using the JDK's built-in HTTP server. Done would be a minimal-dependency web UI built as part of Luke for debugging a Lucene index remotely.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.