Question

I’m using lucene version 4.0.0 and compass 2.2.0 to store lucene index in Mysql.

Am getting the following error and am stuck with that.

Exception in thread “main” java.lang.NoSuchMethodError: org.apache.lucene.store.IndexInput: method ()V not found

And also can you tell me which will perform better. Storing index in FS or DB?

Was it helpful?

Solution

Lucene 4.0 involves significant changes in the API, which Compass undoubtedly does not support. Development stopped on Compass over two years ago.

The project has effectively been replaced by ElasticSearch, as the creator of Compass explains in this blog post. You should look into using ElasticSearch instead.

As far as storing the index, store it in the file system. As far as I can tell, the DB storage feature from Compass hasn't been brought into ElasticSearch. Frankly, it seems like a bit of a strange feature, and I can only assume it would involve a hit to performance, though I haven't found any resources clearly addressing that. I would recommend not trying to store an index in your database unless you have a good reason why you really need to.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top