I am planning to develop a small search engine with auto complete feature based on the key entered contained in database (somewhat like google). Is there a recommend approach to performing the auto-completion. I'm doing it in java.
- 
                    I don't think it's a well-phrased question but I don't think it warrants closing – Brian Agnew Dec 14 '12 at 12:27
 - 
                    @BrianAgnew I voted to close because it's highly subjective. There is no right answer with this type of "How do I...?" question. Maybe a better fit for http://programmers.stackexchange.com/. – Duncan Jones Dec 14 '12 at 12:29
 - 
                    autocompletion based on what? basicly you should just have a class `Dictionary` with an `ArrayList
` in it and do some algorythm on it – SomeJavaGuy Dec 14 '12 at 12:31 - 
                    It's funny how there are already two answers when you haven't even told us the UI framework you want to use. Some frameworks already provide everything you need for auto-completion, for others you might have to do it yourself. – Cephalopod Dec 14 '12 at 12:34
 - 
                    @Arian i am open to suggestions regarding the UI framework. – AlwaysALearner Dec 14 '12 at 12:37
 - 
                    So your actual question is "Which UI framework should I use?". If your app will run in the browser, then jquery; if it's a desktop application, then javafx2 or swing; if it's an eclipse plug-in, jface. Just build your UI basics, and when that works, ask again about auto-completion. – Cephalopod Dec 14 '12 at 12:39
 
3 Answers
It's not clear to me how this app is deployed etc., and I've read it (correctly or incorrectly) as a requirement for a bash-like autocomplete feature.
JLine is a command-line library for Java. It provides cursor-key navigation, history and completion. Unfortunately the doc isn't great, but start with the Completor interface.
If you're after a web interface, I would take a look at DWR (which exposes Java objects as Javascript objects) and implement auto-complete as per this post.
- 1
 - 1
 
- 268,207
 - 37
 - 334
 - 440
 
You should subscribe to various events (as required) similar to TextChanged
See these questions:
Java equivalent to C# TextBox TextChanged event
Its not that difficult. You can use java along with jquery auto complete plugin.
Here you just need to make a call like :
 $("#id").autocomplete("MyJSP.jsp");
So your background processing is done by your java and this loads the features with the auto complete plugin. Easy enough ! You can take a look at this link .
They have a nice Spring way of doing things too .
- 5,455
 - 11
 - 54
 - 95