Database as a lucene index target --------------------------------- Key: LUCENE-487 URL: http://issues.apache.org/jira/browse/LUCENE-487 Project: Lucene - Java Type: New Feature Components: Store Versions: 1.9 Environment: MySql (version 4.1 an up), Oracle (version 8.1.7 and up) Reporter: Amir Kibbar Priority: Minor
I've written an extension for the Directory object called DBDirectory, that allows you to read and write a Lucene index to a database instead of a file system. This is done using blobs. Each blob represents a "file". Also, each blob has a name which is equivalent to the filename and a prefix, which is equivalent to a directory on a file system. This allows you to create multiple Lucene indexes in a single database schema. The solution uses two tables: LUCENE_INDEX - which holds the index files as blobs LUCENE_LOCK - holds the different locks Attached is my proposed solution. This solution is still very basic, but it does the job. The solution supports Oracle and mysql To use this solution: 1. Place the files: - DBDirectory in src/java/org/apache/lucene/store - TestDBIndex in src/test/org/apache/lucene/index - objects-mysql.sql in src/db - objects-oracle.sql in src/db 2. Edit the parameters for the database connection in TestDBIndex 3. Create the database tables using the objects-mysql.sql script (assuming you're using mysql) 4. Build Lucene 5. Run TestDBIndex with the database driver in the classpath I've tested the solution on mysql, but it *should* work on Oracle, I will test that in a few days. Amir -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]