class CloudSolrServers[F[_]] extends SolrServers with AsyncSolrClientAware[F] with ServerStateChangeObservable
Provides servers based on information from from ZooKeeper. Uses the ZkStateReader to read the ZK cluster state, which is also used by solrj's CloudSolrServer. While ZkStateReader uses ZK Watches to get cluster state changes from ZK, we're regularly updating our internal state by reading the cluster state from ZkStateReader.
- Alphabetic
- By Inheritance
- CloudSolrServers
- ServerStateChangeObservable
- AsyncSolrClientAware
- SolrServers
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
CloudSolrServers(zkHost: String, zkClientTimeout: Duration = 15 seconds, zkConnectTimeout: Duration = 10 seconds, clusterStateUpdateInterval: Duration = 1 second, defaultCollection: Option[String] = None, warmupQueries: Option[WarmupQueries] = None)(implicit futureFactory: FutureFactory[F])
- zkHost
The zkHost string, in $host:$port format, multiple hosts are specified comma separated
- zkClientTimeout
The zk session timeout (passed to ZkStateReader)
- zkConnectTimeout
The zk connection timeout (passed to ZkStateReader), also used for ZkStateReader initialization attempt interval. Note that we're NOT stopping connection retries after connect timeout!
- clusterStateUpdateInterval
Used for pulling the ClusterState from ZkStateReader
- defaultCollection
Optional default collection to use when the query does not specify the "collection" param.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
all: IndexedSeq[SolrServer]
The currently known solr servers.
The currently known solr servers.
- Definition Classes
- CloudSolrServers → SolrServers
- Annotations
- @volatile()
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
matching(q: SolrQuery): IndexedSeq[SolrServer]
An infinite iterator over known solr servers.
An infinite iterator over known solr servers. When the last item is reached, it should start from the first one again. When the known solr servers change, the iterator must reflect this.
- Definition Classes
- CloudSolrServers → SolrServers
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
register(listener: StateChangeObserver): Unit
- Definition Classes
- CloudSolrServers → ServerStateChangeObservable
-
def
setAsyncSolrClient(client: AsyncSolrClient[F]): Unit
On creation of AsyncSolrClient this method is invoked with the created instance if the concrete component is "supported", right now this are SolrServers and LoadBalancer.
On creation of AsyncSolrClient this method is invoked with the created instance if the concrete component is "supported", right now this are SolrServers and LoadBalancer. Subclasses can override this method to get access to the solr client.
- Definition Classes
- CloudSolrServers → AsyncSolrClientAware
- def shutdown: List[Runnable]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
warmupNewServer(collection: String, s: SolrServer, queries: Seq[SolrQuery], count: Int): Future[Seq[Try[QueryResponse]]]
- Attributes
- protected
-
def
warmupNewServers(newCollectionToServers: Map[String, IndexedSeq[SolrServer]], warmup: WarmupQueries): Future[Iterable[Try[QueryResponse]]]
- Attributes
- protected