I have succeeded in opening an index by ElasticSearch 1.3.4 (which uses Lucene 4.9.1 under the hood). I too followed the instructions in Ross Simpson's blog, but it did not work. As he says, I added the ElasticSearch dependency (in my case version 1.3.4) in pom.xml
:
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>1.3.4</version>
</dependency>
And also set the Lucene version (in my case 4.9.1) in pom.xml
:
<lucene.version>4.9.1</lucene.version>
I updated the META-INF/services/org.apache.lucene.codecs.PostingsFormat
in the jar as below:
org.apache.lucene.codecs.lucene40.Lucene40PostingsFormat
org.apache.lucene.codecs.lucene41.Lucene41PostingsFormat
org.elasticsearch.index.codec.postingsformat.BloomFilterPostingsFormat
org.elasticsearch.index.codec.postingsformat.Elasticsearch090PostingsFormat
org.elasticsearch.search.suggest.completion.Completion090PostingsFormat
So far the instructions are the same as in the blog post. The additional step I took is to update META-INF/services/org.apache.lucene.codecs.Codec
add the last line (I was getting an exception when opening the index that a codec named Lucene49 was not found):
org.apache.lucene.codecs.simpletext.SimpleTextCodec
org.apache.lucene.codecs.appending.AppendingCodec
org.apache.lucene.codecs.lucene49.Lucene49Codec