Beispiel #1
0
 protected ARequestBaseGet(SolrUriBuilder baseBuilder)
 {
     if (baseBuilder == null) throw new ArgumentNullException("baseBuilder");
     if (baseBuilder.IsBaseUrl) throw new ArgumentException("Requests don't accept base urls", "baseBuilder");
     UrlBuilder = baseBuilder;
     Header = new Dictionary<string, string>();
 }
Beispiel #2
0
 //ISolrServerHandler server, IQueryBuilder queryBuilder, string core = null)
 public GetRequest(SolrUriBuilder builder, string id = null)
     : base(builder)
 {
     UrlBuilder.Handler = "get";
     if (id != null)
         UrlBuilder.Query.Add("id",id);
 }
Beispiel #3
0
 public SelectRequest(SolrUriBuilder builder, IQueryBuilder queryBuilder)
     : base(builder)
 {
     UrlBuilder.Handler = "select";
     if (queryBuilder == null)
         throw new ArgumentNullException("queryBuilder");
     UrlBuilder.SetQuery(queryBuilder);
 }
Beispiel #4
0
        private Stream GetFileStream(SolrUriBuilder urlBuilder, string suffix)
        {
            var hander = suffix != null?string.Format("{0}_{1}", urlBuilder.Handler, suffix) : urlBuilder.Handler;

            var resouece = string.Format("{0}.{1}.{2}.{3}", BaseResoucePath, urlBuilder.Core, hander.Replace('/', '.'), urlBuilder.Query.Get(CommonParams.WT));

            return(ResourceProvider.GetResourceStream(resouece));
        }
Beispiel #5
0
 public UpdateRequest(SolrUriBuilder urlBuilder)
 {
     if (urlBuilder == null)
     {
         throw new ArgumentNullException("urlBuilder");
     }
     urlBuilder.Handler = "update";
     urlBuilder.Query.Add(CommonParams.WT, "json");
     UrlBuilder = urlBuilder;
 }
Beispiel #6
0
 public GetRequest(SolrUriBuilder builder, string id = null)
 //ISolrServerHandler server, IQueryBuilder queryBuilder, string core = null)
     : base(builder)
 {
     UrlBuilder.Handler = "get";
     if (id != null)
     {
         UrlBuilder.Query.Add("id", id);
     }
 }
Beispiel #7
0
 public SelectRequest(SolrUriBuilder builder, IQueryBuilder queryBuilder)
     : base(builder)
 {
     UrlBuilder.Handler = "select";
     if (queryBuilder == null)
     {
         throw new ArgumentNullException("queryBuilder");
     }
     UrlBuilder.SetQuery(queryBuilder);
 }
Beispiel #8
0
 public MockSolrServerHandler(IContentSerializerFactory contentSerializerFactory = null, ICacheHandler cacheHandler = null)
 {
     baseUriBuilder    = new SolrUriBuilder(null ?? "http://127.0.0.1:20440/solr/");
     RequestHandler    = new MockConnectionHandler();
     SerializerFactory = contentSerializerFactory ?? new ContentSerializerFactory();
     Cache             = cacheHandler;
     DefaultCore       = "MockCore";
     Cores             = new List <string> {
         DefaultCore
     };
     IsReady = true;
 }
Beispiel #9
0
 protected ARequestBaseGet(SolrUriBuilder baseBuilder)
 {
     if (baseBuilder == null)
     {
         throw new ArgumentNullException("baseBuilder");
     }
     if (baseBuilder.IsBaseUrl)
     {
         throw new ArgumentException("Requests don't accept base urls", "baseBuilder");
     }
     UrlBuilder = baseBuilder;
     Header     = new Dictionary <string, string>();
 }
Beispiel #10
0
 public LoggingRequest(SolrUriBuilder baseBuilder, Dictionary<string, string> logLevels)
     : this(baseBuilder)
 {
     // Note: Can't use typed loglevels because different solr versions or loggers may have different loglevels.
     // e.g. Solr 4.4:
     // ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
     // However Documentation at https://cwiki.apache.org/confluence/display/solr/Configuring+Logging specifies:
     // FINEST, FINE, CONFIG, INFO, WARNING, SEVERE, OFF, UNSET
     foreach (var level in logLevels)
     {
         baseBuilder.Query.Add("set", string.Format("{0}:{1}", level.Key, level.Value));
     }
 }
Beispiel #11
0
 public LoggingRequest(SolrUriBuilder baseBuilder, Dictionary <string, string> logLevels)
     : this(baseBuilder)
 {
     // Note: Can't use typed loglevels because different solr versions or loggers may have different loglevels.
     // e.g. Solr 4.4:
     // ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
     // However Documentation at https://cwiki.apache.org/confluence/display/solr/Configuring+Logging specifies:
     // FINEST, FINE, CONFIG, INFO, WARNING, SEVERE, OFF, UNSET
     foreach (var level in logLevels)
     {
         baseBuilder.Query.Add("set", string.Format("{0}:{1}", level.Key, level.Value));
     }
 }
Beispiel #12
0
        private string GetContentType(SolrUriBuilder urlBuilder)
        {
            switch (urlBuilder.Query.Get(CommonParams.WT).ToLowerInvariant())
            {
            case "invalid":
                return("invalid");

            case "json":
                return("text/plain");

            case "javabin":
                return("application/javabin");

            case "xml":
                return("text/xml");

            default:
                throw new NotSupportedException("Unsupported WT Type!");
            }
        }
Beispiel #13
0
        public HttpSolrServer(string url, IContentSerializerFactory contentSerializerFactory = null, ICacheHandler cacheHandler = null, bool ignoreStatusCheck = false)
        {
            //Argument Validation
            if (string.IsNullOrWhiteSpace(url))
            {
                throw new ArgumentNullException("url");
            }
            if (url.EndsWith("/"))
            {
                url = url.TrimEnd('/');
            }
            Uri solrUri;

            if (!Uri.TryCreate(url, UriKind.Absolute, out solrUri))
            {
                throw new ArgumentException("the URL is invalid", "url");
            }
            RequestHandler = new HttpWebRequestHandler();
            if (!RequestHandler.IsUriSupported(solrUri))
            {
                throw new ArgumentException("the URL is invalid", "url");
            }

            //Initialization
            RecheckInterval   = new TimeSpan(0, 1, 0);
            baseUriBuilder    = new SolrUriBuilder(solrUri);
            SerializerFactory = contentSerializerFactory ?? new ContentSerializerFactory();
            DataMapping       = new DataMappingCollection();
            Cache             = cacheHandler ?? null;
            IsReady           = true;
            if (ignoreStatusCheck)
            {
                _isOnline = true;
            }
            else
            {
                CheckStatus(true);
            }
        }
Beispiel #14
0
 public LoggingRequest(SolrUriBuilder baseBuilder, long since)
     : this(baseBuilder)
 {
     baseBuilder.Query.Add("since",since.ToString());
 }
Beispiel #15
0
 public LoggingRequest(SolrUriBuilder baseBuilder)
     : base(baseBuilder)
 {
     UrlBuilder.Core = "admin";
     UrlBuilder.Handler = "logging";
 }
Beispiel #16
0
 public PingRequest(SolrUriBuilder builder)
     : base(builder)
 {
     UrlBuilder.Handler = "admin/ping";
 }
Beispiel #17
0
 public PingRequest(SolrUriBuilder builder)
     : base(builder)
 {
     UrlBuilder.Handler = "admin/ping";
 }
Beispiel #18
0
 public CoresRequest(SolrUriBuilder builder)
     : base(builder)
 {
     UrlBuilder.Core    = "admin";
     UrlBuilder.Handler = "cores";
 }
Beispiel #19
0
 public LoggingRequest(SolrUriBuilder baseBuilder)
     : base(baseBuilder)
 {
     UrlBuilder.Core    = "admin";
     UrlBuilder.Handler = "logging";
 }
Beispiel #20
0
 public SystemRequest(SolrUriBuilder builder)
     : base(builder)
 {
     UrlBuilder.Core = "admin";
     UrlBuilder.Handler = "system";
 }
Beispiel #21
0
 public CoresRequest(SolrUriBuilder builder)
     : base(builder)
 {
     UrlBuilder.Core = "admin";
     UrlBuilder.Handler = "cores";
 }
Beispiel #22
0
 public SystemRequest(SolrUriBuilder builder)
     : base(builder)
 {
     UrlBuilder.Core    = "admin";
     UrlBuilder.Handler = "system";
 }
Beispiel #23
0
 public LoggingRequest(SolrUriBuilder baseBuilder, long since)
     : this(baseBuilder)
 {
     baseBuilder.Query.Add("since", since.ToString());
 }