Thomas P. Fuller, MSc Managing Director Coherent Logic Limited High Performance Software Engineering thomas.fuller@coherentlogic.com IM: thospfuller (Yahoo) Registered in England, #05560634 | 145-157 St. John Street London, EC1V 4PY United Kingdom work: 44.[0]207.788.7654 mobile: 44.[0]781.828.7465 |
- getBasicQuery methods are deprecated. That's from the previous design right? Was it a tech preview or was it named as full fledged API?In the former case I'd get rid of them.
Yes that was a tech preview, I'll remove them, but maybe better keep
them for a single release?
There's a grails plugin which exposes these methods.
- I'm not a big fan of the constructor approach to get QueryFactory for various reasons (including the fact that it forces a concrete type and no interfaces) but it seems to be an ISPN-wide design decisionThat's definitely something that could be improved in a Seam Infinispan module.
I knew you where going to say that :) but yes this seems to be more
Infinispan-style.
I've considered something like a Search.getQueryFactory(Cache c) .. WDYT?
This wouldn't return a "FullTextCache" but the manager, I see no
reason to delegate a cache like we do with a o.h.Session.- I'd rename QueryFactory to something else as conceptually it's more an entry point to anything related to Hibernate Search, potentially indexing, stats etc: maybe SearchManager, SearchProvider, GridSearcher, TheGridReaper?right!
which one? I like the first three.
- is there an easy metaconfig to ask ISPN to store the HSearch indexes in ISPN :)No, but agree that would be awesome. would require changes though in
all involved projects:
1) H.S. would bee to be able to start on a DirectoryProvider instance we pass in
2) Infinispan Directory module (the submodule of H.S.) would need to
be able to reconfigure an existing cachemanager configuration during
the startup
3) Infinispan Core needs to be adapted for the additional configuration fields
currently it's not that hard, just a single property:
<indexing enabled="true" indexLocalOnly="true">
<properties>
<property
name="hibernate.search.default.directory_provider" value="infinispan" />
</properties>
</indexing>
downside is that it will start a second cachemanager with a second
JGroups channel, instead of reusing the same.
- you can't do cross Cache queries today. Is that expected? for me CacheManager.getGridSearcher almost makes sense.Very interesting concept. I'll see how that fits in the code; I can't
add methods to the CacheManager itself, but maybe I can make sure that
interceptors registered on different caches share the same
MutableSearchFactory.