Hi,

I didn't receive the attachment. Maybe you can contribute your files to JIRA : http://issues.apache.org/jira/browse/LUCENE

Have you checked the compass framework: http://www.compassframework.org ?
They also developped a JDBC Directory implementation: http://static.compassframework.org/docs/latest/jdbcdirectory.html
Its Apache licenced.


Regards,

Nicolas


Le 10:44 2006-01-11, vous avez écrit:
Hi,

I hope that this mailing list is the right place for things like that, if not I apologize in advance.

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.

Please let me know if you think it is useful.

Amir
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to