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]