io.ino.solrs
Members list
Type members
Classlikes
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- AsyncSolrClient.type
Async, non-blocking Solr Client that allows to make requests to Solr. The usage shall be similar to the solrj SolrClient, so request returns a future of a SolrResponse.
Async, non-blocking Solr Client that allows to make requests to Solr. The usage shall be similar to the solrj SolrClient, so request returns a future of a SolrResponse.
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class JavaAsyncSolrClient
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class CloudSolrServers[F]class FastestServerLB[F]
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.
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.
Attributes
- clusterStateUpdateInterval
Used for pulling the ClusterState from ZkStateReader
- defaultCollection
Optional default collection to use when the request does not specify the "collection" param.
- 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!
- zkHost
The zkHost string, in $host:$port format, multiple hosts are specified comma separated
- Companion:
- object
- Graph
- Supertypes
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- CloudSolrServers.type
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait ServerStatusclass Objecttrait Matchableclass Any
- Self type
- Disabled.type
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait ServerStatusclass Objecttrait Matchableclass Any
- Self type
- Enabled.type
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait ServerStatusclass Objecttrait Matchableclass Any
- Self type
- Failed.type
LB strategy that selects the fastest server based on the latest average response time. It's aimed to handle a multi datacenter setup where some server regularly need longer to response. It shall also detect short (subsecond) pauses of a server e.g. due to garbage collection or s.th. else.
LB strategy that selects the fastest server based on the latest average response time. It's aimed to handle a multi datacenter setup where some server regularly need longer to response. It shall also detect short (subsecond) pauses of a server e.g. due to garbage collection or s.th. else.
The latest average response time is determined in the following order (the first found measure is used):
- currently still running requests (if they're lasting longer than previous, already completed requests)
- average response time of the current or the last second
- average response time of the last ten seconds
- total average resonse time
The response time is measured using the given testQuery. A dedicated test query is used, because queries can have very different performance characteristics, so that it might even be hard for an application to classify this. With the testQuery you have control what is used to measure response time.
For "normal" / "fast" servers (default: with a resonse time <= the average of all servers, you can override
determineFastServers
) test queries are run whenever a request comes in, but between test queries at least
the minDelay has to be passed.
This way servers are not hammered with requests when nobody else is using your search, but if there's
high traffic this load balancer get high resolution of monitoring data to detect short pauses as well.
For "slow" servers (default: response time > average) tests are run using the specified maxDelay.
Directly after creation of this LoadBalancer / AsnycSolrClient multiple test queries are run (according
to the specified initialTestRuns
, by default 10) to have initial stats.
Attributes
- clock
the clock to get the current time from. The tests using the maxDelay are run using a scheduled executor, therefore this interval uses the system clock
- collectionAndTestQuery
a function that returns the collection name and a testQuery for the given server. The collection is used to partition server when classifying "fast"/"slow" servers, because for different collections response times will be different. It's somehow similar with the testQuery: it might be different per server, e.g. some server might only provide a /suggest handler while others provide /select (which can be specified via the "qt" query param in the test query).
- filterFastServers
a function to filter fast / preferred servers. The function takes the calculated average duration of all servers of a collection, and returns a function for a SolrServer->Duration tuple that returns true/false to indicate if a server should be considered "fast". The default value for filterFastServers uses
duration <= average * 1.1 + 5
(use 1.1 as multiplier to accepted some deviation, for smaller values like 1 or 2 millis also add some fix value to allow normal deviation).- initialTestRuns
on start each active server is tested the given number of times to gather initial stats and determine fast/slow servers.
- mapPredictedResponseTime
a function that's applied to the predicted response time. This can e.g. be used to quantize the time so that minor differences are ignored.
- maxDelay
the delay between tests for slow servers (or all servers if there are no real requests)
- minDelay
the minimum delay between the response of a test and the start of the next test (to limit test frequency)
- solrServers
solr servers to load balance, those are regularly tested.
- Companion:
- object
- Graph
- Supertypes
- trait FastestServerLBJmxSupport[F]trait FastestServerLBMBeantrait AsyncSolrClientAware[F]trait LoadBalancertrait RequestInterceptorclass Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- FastestServerLB.type
JMX support for FastestServerLB, implementation of FastestServerLBMBean, to be mixed into FastestServerLB.
JMX support for FastestServerLB, implementation of FastestServerLBMBean, to be mixed into FastestServerLB.
Attributes
- Companion:
- object
- Graph
- Supertypes
- Known subtypes
- class FastestServerLB[F]
- Self type
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
JMX MBean for FastestServerLB.
JMX MBean for FastestServerLB.
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- trait FastestServerLBJmxSupport[F]class FastestServerLB[F]
Java API: Async, non-blocking Solr Client that allows to make requests to Solr. The usage shall be similar to the solrj SolrClient, so request returns a CompletionStage of a SolrResponse.
Java API: Async, non-blocking Solr Client that allows to make requests to Solr. The usage shall be similar to the solrj SolrClient, so request returns a CompletionStage of a SolrResponse.
Example usage:
JavaAsyncSolrClient solr = JavaAsyncSolrClient.create("http://localhost:" + solrRunner.port + "/solr/collection1");
CompletionStage<QueryResponse> response = solr.query(new SolrQuery("*:*"));
response.thenAccept(r -> System.out.println("found "+ r.getResults().getNumFound() +" docs"));
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- JavaAsyncSolrClient.type
Attributes
- Companion:
- object
- Graph
- Supertypes
- Known subtypes
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- LoadBalancer.type
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class CodaHaleMetrics[F]object NoopMetrics.type
Attributes
- Graph
- Supertypes
- Self type
- NoopMetrics.type
Statistics for a solr server.
Statistics for a solr server.
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- PerformanceStats.type
A ServerStateObserver that uses the ping status to enable/disable SolrServers.
To use this in solrconfig.xml the PingRequestHandler must be configured with the
healthcheckFile, e.g.:
A ServerStateObserver that uses the ping status to enable/disable SolrServers.
To use this in solrconfig.xml the PingRequestHandler must be configured with the
healthcheckFile, e.g.:
<str name="healthcheckFile">server-enabled.txt</str>
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
Subclass of SolrException that allows us to capture an arbitrary HTTP status code that may have been returned by the remote server or a proxy along the way.
Subclass of SolrException that allows us to capture an arbitrary HTTP status code that may have been returned by the remote server or a proxy along the way.
Attributes
- code
Arbitrary HTTP status code
- msg
Exception Message
- th
Throwable to wrap with this Exception
- Graph
- Supertypes
- class SolrExceptionclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass Any
Defines the context for a request initiated by the client.
Defines the context for a request initiated by the client.
Attributes
- failedRequests
information regarding failed requests
- preferred
the server that the user would like to use for the request
- r
the request
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Information about a failed request.
Information about a failed request.
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Clients can intercept requests.
Clients can intercept requests.
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
A retry decision to adopt on a failed request.
A retry decision to adopt on a failed request.
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class RetryServerclass StandardRetryDecision
Attributes
- Companion:
- trait
- Graph
- Supertypes
- trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
- RetryDecision.type
Specifies a policy for retrying request failures.
Specifies a policy for retrying request failures.
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Predefined request retry policies.
Predefined request retry policies.
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- RetryPolicy.type
Attributes
- Graph
- Supertypes
Attributes
- Companion:
- object
- Graph
- Supertypes
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- RoundRobinLB.type
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class CloudSolrServers[F]
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
Configuration for scheduled server state observation.
Configuration for scheduled server state observation.
Attributes
- checkInterval
the interval to check server state
- executorService
the scheduler used to poll for state changes
- futureFactory
factory to create promise/future types.
- serverStateObserver
the observer that checks server state
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Monitoring of solr server state (enabled/disabled/dead etc.)
Monitoring of solr server state (enabled/disabled/dead etc.)
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class PingStatusObserver[F]
Attributes
- Companion:
- object
- Graph
- Supertypes
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- ShardReplica.type
Attributes
- Graph
- Supertypes
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- SolrResponseFactory.type
Represents a solr host, for a SolrCloud setup there's the specialized ShardReplica.
Represents a solr host, for a SolrCloud setup there's the specialized ShardReplica.
Attributes
- baseUrl
the solr server's base url, must not end with a slash.
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class ShardReplica
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- SolrServer.type
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass AnyValtrait Matchableclass Any
Provides the list of solr servers.
Provides the list of solr servers.
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Companion:
- object
- Graph
- Supertypes
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- StaticSolrServers.type
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- object JavaAsyncSolrClient.type