Hello, interesting, I had to code a very similar support for Infinispan (aka JBoss Data Grid) which I think should be very similar to Extreme Scale. I should warn you that while it initially seemed an easy task as you just have to "store files", the locking specifics in a highly concurrent environment made it much more complex than what I initially expected.. especially if you want it to be efficient you need to be rather expert in the workings of the storage.
I'm not aware of other Hibernate Search users to have attempted this on IBM extreme scale; in addition to Infinispan I heard it works on Voldemort and on Ehcache, all three using a similar design.
To plug in a Directory implementation in Hibernate Search, that's trivial you just need to implement a DirectoryProvider. You can find an example in the /infinispan module in the source code :
https://github.com/hibernate/hibernate-search
Specifically, this is the main code: https://github.com/hibernate/hibernate-search/blob/master/infinispan/src/main/java/org/hibernate/search/infinispan/spi/InfinispanDirectoryProvider.java
Most of the code deals with A) initialization of the index B) parsing configuration tuning parameters to pass them to the Infinispan Directory - a complexity which you might not need in a POC, so this part should be very simple.
The more complex part is to actually implement the Lucene Directory. The one we created for Infinispan was contributed into the Infinispan project (as it's open source), and you can find it in here:
https://github.com/infinispan/infinispan
Specifically, in this Maven module: https://github.com/infinispan/infinispan/tree/master/lucene/lucene-directory
If you're willing to share your experiments and contribute them to Hibernate Search, I'll be happy to help. It would be nice to support IBM's stuff as well. Feel free to ask for more details, but I'm not familiar with extreme scale so I can only describe what would be required from the point of view of Hibernate Search and/or Apache Lucene.
_________________ Sanne http://in.relation.to/
|