Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

So I have a Java application running on a websphere server. The server has an or

ID: 660398 • Letter: S

Question

So I have a Java application running on a websphere server. The server has an oracle database of boxes. Each box has a list of things in it. Each thing has a main description (input as text from humans), and a list of label/value pairs (ie, color:black, quantity:3, etc) that describe the thing.

I'd like to allow a user to search this database so I need a library to search the database and rank the results. The user will be allowed to input the same kind of information described above. I want to be able to list the boxes that most closely match what the user input.

I've looked into some search libraries such as Lucene and Xapian, but I'm not sure about the exact capabilities of various libraries. I'd like to be able to see the pros and cons and a little bit about how they work, so I've started doing some research.

But before that, I'd like to hear your suggestions for this particular project.

Explanation / Answer

You can also try ElasticSearch.

ElasticSearch it's a search server on top of Lucene. It provides a Json API for performing the search queries and it's really handy when it comes to scalability.

In order to to index an existing database you should continually poll it's content.
Here is a tutorial for that.

On the downside, you should be familiar with Lucene to go beyond the basics(e.g. custom Analyzers, Tokenizers etc), those things are required for an effective search.

Last but not least ElasticSearch provides AND a Java API which is a wrapper of the Json API. So far I've only worked with Json but I have made some research on this and it's really simple to use if you already have a Java application.

Open Source (Apache 2 License)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote