Since no code has been posted, I'll just ask the question...

Does your implementation use the Blob "seek" functions when reading and 
writing, or does it read/write the blob in its entirety.

If it is the latter, your solution is only acceptable for the smallest of 
Lucene indexes. If it is the former, it would be interesting to see the results 
using various db & drivers, as many JDBC blob impls do not support this 
functionality, and read/write the blob completely behind the scenes.

-----Original Message-----
From: Amir Kibbar (JIRA) [mailto:[EMAIL PROTECTED]
Sent: Wednesday, January 11, 2006 12:35 PM
To: java-dev@lucene.apache.org
Subject: [jira] Created: (LUCENE-487) Database as a lucene index target


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]


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

Reply via email to