If I'm understanding you correctly, you're using Lucene to store IDs and index the columns that would normally be full-text indices in MySQL, then use the IDs to retrieve the information from the database. This is more of a MySQL issue than a Lucene issue, but it suggests a flaw in your approach: why not simply store all the data you want to retrieve in Lucene? If the data in your database changes, you would have to rebuild your Lucene index anyway. My $0.02.
On 7/4/06, Alexander Mashtakov <[EMAIL PROTECTED]> wrote:
Hi folks, I'm looking for a solution/best practices concerning Lucene and SQL database integration. The database (MySQL) is already developed and contains data. I've tried MySQL full-text search, but it's quite slow and doesn't have the possibility to intergate custom analyzers. Phrase search is perfomed only in boolean mode and doesn't return relevance factor :( The idea is to manage full-text indexes (titles, keywords, summaries) and perform search using Lucene. The resultset will include ID's that will be appended to SQL query in order to apply additional filters based on foreign keys (categories mappings, etc). But, the database is going to be big enough, and the list of IDs returned by Lucene too. This may cause high memory usage and slow sql query speed (for instance 1000 IDs in "IN (id1, id2 ...)" sql filter) Any ideas, suggestions ? -- Thank you, /Alexander