io.ino

solrs

package solrs

Visibility
  1. Public
  2. All

Type Members

  1. class AsyncSolrClient extends AnyRef

    Async, non-blocking Solr Server that just allows to #query(SolrQuery).

    Async, non-blocking Solr Server that just allows to #query(SolrQuery). The usage shall be similar to the solrj SolrServer, so query returns a future of a QueryResponse.

  2. trait AsyncSolrClientAware extends AnyRef

  3. class CloudSolrServers extends SolrServers with ServerStateChangeObservable

    Provides servers based on information from from ZooKeeper.

    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.

  4. class CodaHaleMetrics extends Metrics

  5. class FastestServerLB extends LoadBalancer with FastestServerLBJmxSupport

    LB strategy that selects the fastest server based on the latest average response time.

    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.

  6. trait FastestServerLBJmxSupport extends FastestServerLBMBean

    JMX support for FastestServerLB, implementation of FastestServerLBMBean, to be mixed into FastestServerLB.

  7. trait FastestServerLBMBean extends AnyRef

    JMX MBean for FastestServerLB.

  8. trait LoadBalancer extends RequestInterceptor with AsyncSolrClientAware

  9. trait Metrics extends AnyRef

  10. class PerformanceStats extends AnyRef

    Statistics for a solr server.

  11. class PingStatusObserver extends ServerStateObserver

    A ServerStateObserver that uses the ping status to enable/disable SolrServers.

    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>
    

  12. case class QueryContext(q: SolrQuery, preferred: Option[SolrServer] = None, failedRequests: Seq[RequestInfo] = Seq.empty) extends Product with Serializable

    Defines the context for a search query initiated by the client.

    Defines the context for a search query initiated by the client.

    q

    the search query

    preferred

    the server that the user would like to use for the query

    failedRequests

    information regarding failed requests

  13. class ReloadingSolrServers extends SolrServers

  14. class RemoteSolrException extends SolrException

    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.

  15. case class RequestInfo(server: SolrServer, duration: Duration, exception: Throwable) extends Product with Serializable

    Information about a failed request.

  16. trait RequestInterceptor extends AnyRef

    Clients can intercept requests.

  17. sealed trait RetryDecision extends AnyRef

    A retry decision to adopt on a failed request.

  18. trait RetryPolicy extends AnyRef

    Specifies a policy for retrying query failures.

  19. case class RetryServer(server: SolrServer) extends RetryDecision with Product with Serializable

  20. class RoundRobinLB extends LoadBalancer

  21. trait ServerStateChangeObservable extends AnyRef

  22. case class ServerStateObservation(serverStateObserver: ServerStateObserver, checkInterval: FiniteDuration, actorSystem: ActorSystem, ec: ExecutionContext) extends Product with Serializable

    Configuration for scheduled server state observation.

    Configuration for scheduled server state observation.

    serverStateObserver

    the observer that checks server state

    checkInterval

    the interval to check server state

    actorSystem

    used for scheduling

    ec

    used for running the scheduled observation

  23. trait ServerStateObserver extends AnyRef

    Monitoring of solr server state (enabled/disabled/dead etc.)

  24. sealed trait ServerStatus extends AnyRef

  25. class SingleServerLB extends LoadBalancer

  26. class SolrServer extends AnyRef

    Represents a solr host.

  27. trait SolrServers extends AsyncSolrClientAware

    Provides the list of solr servers.

  28. case class StandardRetryDecision(result: Result) extends RetryDecision with Product with Serializable

  29. trait StateChangeObserver extends AnyRef

  30. class StaticSolrServers extends SolrServers

Value Members

  1. object AsyncSolrClient

  2. object CloudSolrServers

  3. object Disabled extends ServerStatus with Product with Serializable

  4. object Enabled extends ServerStatus with Product with Serializable

  5. object Failed extends ServerStatus with Product with Serializable

  6. object FastestServerLB

  7. object FastestServerLBJmxSupport

  8. object Main extends App

    Created by magro on 9/12/14.

  9. object NoopMetrics extends Metrics

  10. object PerformanceStats

  11. object RetryDecision

  12. object RetryPolicy

    Predefined query retry policies.

  13. object RoundRobinLB

  14. object ServerStateChangeObservable

  15. object SolrServer

  16. object StaticSolrServers

Ungrouped