Posts Tagged ‘java’

jFuSea – Java based Fuzzy search library

Back in May 2009 we open-sourced jFuSea – Java library, which allows implementing fuzzy logic searches based on pre-configured settings.

It got the following features so far:

  • Initial linguistic analysis (lexeme and morphologic) of user’s request. It allows clean request from stop-words and determine part of speech for all words of request and also to construct all word forms to search. The results are returned as XML-documents, making it easy to put it in a database with request builder.
  • Preparing your database by making word-based index tables for some document table. In general cases you may configure only library’s text files without code modifications.
  • API for searching indexed documents using configurable SQL-queries. Request builder to translate results of linguistic analysis into a database query.
  • Samples of usage: Craigslist aggregator and search of recent advertisements to search above cities and categories.
  • Web demo-application for demonstrating search for Craigslist advertisement database.

Check it out at Google code.

Big Table Solution

Big Table Solution (BTS) is Apache 2.0 – licensed open source Java library, we published back in April 2009.
BTS is essentially a JDBC driver which allows applications to operate with distributed multiple database instances as they do with the single database. It offers a solution to the problems that arise with the growth of the volumes of data in an application’s relational database and parallel growth of load on the database layer.

Relational database management systems would typically provide partitioning and/or clustering to deal with those issues. BTS, for one, offers an alternative solution by suggesting to split application’s data into more than one database instances and taking the responsibility of executing particular SQL queries against the relevant database instances.

Since BTS resides between application’s data access objects layer and JDBC drivers of the database being used, it can work with any RDBMS that goes with a JDBC driver.
BTS itself is implementation of JDBC driver specifications, making it easy for developers to integrate with. It may also be used with either plain JDBC or with literally any persistence framework (e.g. Hibernate or iBATIS).

Visit library’s homepage for more details.