Exemplo n.º 1
0
        public QuerySettings GetQuerySettings(OpenSearchEngine ose)
        {
            IOpenSearchEngineExtension osee = ose.GetExtensionByContentTypeAbility(this.DefaultMimeType);

            if (osee == null)
            {
                return(null);
            }
            return(new QuerySettings(this.DefaultMimeType, osee.ReadNative));
        }
Exemplo n.º 2
0
        public virtual QuerySettings GetQuerySettings(OpenSearchEngine ose)
        {
            IOpenSearchEngineExtension osee = ose.GetExtensionByContentTypeAbility(this.DefaultMimeType);

            if (osee == null)
            {
                return(null);
            }
            var settings = new QuerySettings(this.DefaultMimeType, osee.ReadNative);

            settings.ParametersKeywordsTable = InitializeParametersKeywordsTable();
            return(settings);
        }
Exemplo n.º 3
0
        public BulkOperationsResponse Ingest(IOpenSearchableElasticType type, IHttpRequest request)
        {
            OpenSearchEngine ose = type.GetOpenSearchEngine(new NameValueCollection());

            IOpenSearchEngineExtension osee = ose.GetExtensionByContentTypeAbility(request.ContentType);

            if (osee == null)
            {
                throw new NotImplementedException(string.Format("No OpenSearch extension found for reading {0}", Request.ContentType));
            }

            MemoryOpenSearchResponse payload = new MemoryOpenSearchResponse(request.GetRawBody(), request.ContentType);

            IOpenSearchResultCollection results = osee.ReadNative(payload);

            return(Ingest(type, results));
        }
Exemplo n.º 4
0
        private NameValueCollection MergeSeriesOpenSearchParameters()
        {
            NameValueCollection nvc = new NameValueCollection();

            foreach (Series s in series)
            {
                IOpenSearchEngineExtension osee = ose.GetFirstExtensionByTypeAbility(typeof(AtomFeed));
                //string type = OpenSearchFactory.GetBestQuerySettingsByNumberOfParam(s, osee).PreferredContentType;
                if (osee == null)
                {
                    context.LogError(this, "MultiSeries [{0}] : Series [{0}] does not expose a valid search template for transforming to Atom. Skipping it");
                    continue;
                }
                NameValueCollection nvc2 = s.GetOpenSearchParameters(s.DefaultMimeType);
                int i = 1;
                foreach (string param in nvc2.Keys)
                {
                    if (nvc2[param] == nvc[param])
                    {
                        continue;
                    }

                    if (nvc[param] == null)
                    {
                        nvc.Add(param, nvc2[param]);
                        continue;
                    }

                    if (nvc[param] != null)
                    {
                        nvc.Add(param + i++, nvc2[param]);
                        continue;
                    }
                }
            }

            return(nvc);
        }
Exemplo n.º 5
0
 /// <summary>
 /// Registers an extension for a specific type.
 /// </summary>
 /// <param name="type">Type to be registered</param>
 /// <param name="extension">Extension associated with the type</param>
 /// <exception cref="ArgumentException">An extension with the same typoe already registered.</exception>
 public void RegisterExtension(IOpenSearchEngineExtension extension)
 {
     log.Debug("Registering extension: " + extension.Identifier);
     extensions.Add(extension.GetHashCode(), extension);
 }