Hi,
search function implementations are not directly available in a
TransportClient. There is a transport search module, and a transport
facet module instead, which can only "transport" search/facets to the
real search/facet module on the cluster (remote access).
So, your plugin init code at
@Override
public void processModule(Module module) {
if (module instanceof FacetModule) {
((FacetModule)
module).addFacetProcessor(GeoClusterFacetProcessor.class);
InternalGeoClusterFacet.registerStreams();
}
}
will only be executed on a cluster node, but not on a TransportClient.
Probably this will work better
@Override
public void processModule(Module module) {
if (module instanceof FacetModule) {
((FacetModule)
module).addFacetProcessor(GeoClusterFacetProcessor.class);
InternalGeoClusterFacet.registerStreams();
}
if (module instanceof TransportFacetModule) {
InternalGeoClusterFacet.registerStreams();
}
}
To give an idea of the services in Elasticsearch, the NodeClient modules are
PluginsModule
SettingsModule
NodeModule
NetworkModule
NodeCacheModule
ScriptModule
JmxModule
EnvironmentModule
NodeEnvironmentModule
ClusterNameModule
ThreadPoolModule
DiscoveryModule
ClusterModule
RestModule
TransportModule
HttpServerModule (optional)
RiversModule
IndicesModule
SearchModule (+ FacetModule)
ActionModule(false -> switch proxy mode off)
MonitorModule
GatewayModule
NodeClientModule
BulkUdpModule
ShapeModule
The TransportClient modules are
PluginsModule
EnvironmentModule
SettingsModule
NetworkModule
ClusterNameModule
ThreadPoolModule
TransportSearchModule (+TransportFacetModule)
TransportModule
ActionModule(true -> switch proxy mode on)
ClientTransportModule
Note the difference, SearchModule vs. TransportSearchModule and
FacetModule vs. TransportFacetModule.
So, in summary, in a TransportClient, these features are not availabe
- node function impl
- cluster admin function impl
- node-level caching
- scripts
- JMX
- monitoring JVM, OS, etc
- Zen Discovery impl
- REST
- HTTP server
- rivers
- indices admin function impl
- search function impl
- gateway
- node client function impl
- bulk per UDP
- geo shapes
Best regards,
Jörg
--