public QuerySettings GetQuerySettings(OpenSearchEngine ose) { IOpenSearchEngineExtension osee = ose.GetExtensionByContentTypeAbility(this.DefaultMimeType); if (osee == null) { return(null); } return(new QuerySettings(this.DefaultMimeType, osee.ReadNative)); }
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); }
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)); }
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); }
/// <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); }