> > Both are alternative yard providers if I understand correctly. You can > either run solr using an external server or use the solr classes > inside the stanbol JVM. > In principle correct. However the SolrProvider is no Yard implementation. There is only a singe SolrYard implementation that requires a org.apache.solr.client.solrj.SolrServer instance. The SolrProvider is just responsible of providing this SolrServer instance. > > So we could have entityhub/yard/providers with solr and embeddedsolr > as subfolders instead. But I would rather have them all grouped > together in the same OSGi bundle unless Rupert has a technical reason > to avoid this.
The embeddedSolrServer requires all the Solr and Lucene dependencies but Users that do not use an embedded Solr server do not need all this stuff (~3MB jar's). I would have preferred to keep all the stuff needed to use remote SolrServer within the SolrYard bundle and only move the EmbeddedSolrServer stuff to an own bundle, but that was not possible because of an cyclic build dependency (The unit tests of the SolrYard use an EmbeddedSolrServer and the EmbeddedSolrServer does implement the SolrProvider interface and would therefore has an dependency to the SolrYard bundle). So in my opinion there are only two possibilities: (1) creating three bundles (SolrYard, SolrProvider (interface definition and implementaion for remote SolrServer) and EmbeddedSolrProvider) (2) move everything into the SolrYard bundle (and add the ~3MB Solr and Lucene dependencies to it). best Rupert -- | Rupert Westenthaler [email protected] | Bodenlehenstraße 11 ++43-699-11108907 | A-5500 Bischofshofen
