public Query ( IOpenSearchable entity, |
||
entity | IOpenSearchable | Entity. |
parameters | Parameters. | |
return | IOpenSearchResultCollection |
public void DiscoverDescription() { AddinManager.Initialize(); AddinManager.Registry.Update(null); var ose = new OpenSearchEngine(); ose.LoadPlugins(); GenericOpenSearchable entity = new GenericOpenSearchable(new OpenSearchUrl("https://catalog.terradue.com/noa-cosmoskymed/search?uid=CSKS4_SCS_B_HI_09_HH_RA_SF_20150911040406_20150911040413&format=json"), ose); var results = ose.Query(entity, new System.Collections.Specialized.NameValueCollection(), "json"); FeatureCollectionResult col = (FeatureCollectionResult)results; var properties = col.FeatureResults.First().Properties; Assert.That(col.Features[0].Geometry != null); Assert.That(!string.IsNullOrEmpty(col.Features[0].ToWkt())); results = ose.Query(entity, new System.Collections.Specialized.NameValueCollection(), "atom"); }
// [Test] public void TestAtom1() { AddinManager.Initialize(); AddinManager.Registry.Update(null); OpenSearchEngine ose = new OpenSearchEngine(); ose.LoadPlugins(); GenericOpenSearchable entity = new GenericOpenSearchable(new OpenSearchUrl("https://ngeopro.magellium.fr/remote/S1_SAR_IW_SINGLE_POL/description"), ose); NameValueCollection nvc = new NameValueCollection(); var osr = ose.Query(entity, nvc, "atom"); }
public void GenericOpenSearchableTest() { AddinManager.Initialize(); AddinManager.Registry.Update(null); OpenSearchEngine ose = new OpenSearchEngine(); ose.LoadPlugins(); OpenSearchUrl url = new OpenSearchUrl("http://catalogue.terradue.int/catalogue/search/MER_FRS_1P/rdf?startIndex=0&q=MER_FRS_1P&start=1992-01-01&stop=2014-10-24&bbox=-72,47,-57,58"); IOpenSearchable entity = new GenericOpenSearchable(url, ose); var osr = ose.Query(entity, new System.Collections.Specialized.NameValueCollection(), "rdf"); //Assert.AreEqual(15, osr.TotalResults); Assert.That(osr.Links.Count > 0); }
private IOpenSearchResultCollection QueryOpenSearch(OpenSearchEngine ose, IOpenSearchable entity, NameValueCollection parameters) { IOpenSearchResultCollection osr; if (string.IsNullOrEmpty(queryFormatArg)) osr = ose.Query(entity, parameters); else osr = ose.Query(entity, parameters, queryFormatArg); return osr; }
public void StartIndexMultiOpenSearchableTest() { AddinManager.Initialize(); AddinManager.Registry.Update(null); OpenSearchEngine ose = new OpenSearchEngine(); ose.LoadPlugins(); IOpenSearchable entity1 = TestOpenSearchable.GenerateNumberedItomFeed("A", 4, new TimeSpan(0)); List<IOpenSearchable> entities = new List<IOpenSearchable>(); entities.Add(entity1); IOpenSearchable multiEntity = new MultiGenericOpenSearchable(entities, ose, true); NameValueCollection nvc = new NameValueCollection(); nvc = new NameValueCollection(); nvc.Set("count", "2"); nvc.Set("startIndex", "5"); var osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(4, osr.TotalResults); Assert.AreEqual(0, osr.Count); nvc.Set("count", "2"); nvc.Set("startIndex", "4"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(4, osr.TotalResults); Assert.AreEqual(1, osr.Count); Assert.AreEqual("A4", osr.Items.First().Identifier); Assert.AreEqual("A4", osr.Items.Last().Identifier); nvc.Set("count", "2"); nvc.Set("startIndex", "3"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(4, osr.TotalResults); Assert.AreEqual(2, osr.Count); Assert.AreEqual("A3", osr.Items.First().Identifier); Assert.AreEqual("A4", osr.Items.Last().Identifier); }
public void GenericProxiedOpenSearchableTest() { AddinManager.Initialize(); AddinManager.Registry.Update(null); OpenSearchEngine ose = new OpenSearchEngine(); ose.LoadPlugins(); IOpenSearchable entity1 = TestOpenSearchable.GenerateNumberedItomFeed("A", 100, new TimeSpan(0)); List<IOpenSearchable> entities = new List<IOpenSearchable>(); entities.Add(entity1); IOpenSearchable multiEntity = new MultiGenericOpenSearchable(entities, ose, true); NameValueCollection nvc = new NameValueCollection(); var osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(100, osr.TotalResults); Assert.AreEqual(OpenSearchEngine.DEFAULT_COUNT, osr.Count); string totalResults = osr.ElementExtensions.ReadElementExtensions<string>("totalResults", "http://a9.com/-/spec/opensearch/1.1/")[0]; Assert.AreEqual("100", totalResults); nvc.Set("count", "100"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(100, osr.TotalResults); Assert.AreEqual(100, osr.Count); Assert.AreEqual("A1", osr.Items.First().Identifier); Assert.AreEqual("A100", osr.Items.Last().Identifier); nvc.Set("count", "6"); nvc.Set("startPage", "1"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(100, osr.TotalResults); Assert.AreEqual(6, osr.Count); Assert.AreEqual("A1", osr.Items.First().Identifier); Assert.AreEqual("A6", osr.Items.Last().Identifier); nvc.Set("count", "3"); nvc.Set("startPage", "2"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(100, osr.TotalResults); Assert.AreEqual(3, osr.Count); Assert.AreEqual("A4", osr.Items.First().Identifier); Assert.AreEqual("A6", osr.Items.Last().Identifier); nvc.Set("startIndex", "16"); nvc.Set("startPage", "1"); nvc.Set("count", "100"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(85, osr.Count); Assert.AreEqual("A16", osr.Items.First().Identifier); Assert.AreEqual("A100", osr.Items.Last().Identifier); nvc.Set("count", "5"); nvc.Set("startIndex", "5"); nvc.Set("startPage", "1"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(5, osr.Count); Assert.AreEqual("A5", osr.Items.First().Identifier); Assert.AreEqual("A9", osr.Items.Last().Identifier); nvc.Set("count", "5"); nvc.Set("startIndex", "5"); nvc.Set("startPage", "2"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(5, osr.Count); Assert.AreEqual("A10", osr.Items.First().Identifier); Assert.AreEqual("A14", osr.Items.Last().Identifier); nvc.Set("count", "5"); nvc.Set("startIndex", "5"); nvc.Set("startPage", "4"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(5, osr.Count); Assert.AreEqual("A20", osr.Items.First().Identifier); Assert.AreEqual("A24", osr.Items.Last().Identifier); nvc.Set("count", "5"); nvc.Set("startIndex", "5"); nvc.Set("startPage", "5"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(5, osr.Count); Assert.AreEqual("A25", osr.Items.First().Identifier); Assert.AreEqual("A29", osr.Items.Last().Identifier); nvc.Set("count", "5"); nvc.Set("startIndex", "1"); nvc.Set("startPage", "1"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(5, osr.Count); Assert.AreEqual("A1", osr.Items.First().Identifier); Assert.AreEqual("A5", osr.Items.Last().Identifier); nvc.Set("count", "5"); nvc.Set("startIndex", "1"); nvc.Set("startPage", "5"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(5, osr.Count); Assert.AreEqual("A21", osr.Items.First().Identifier); Assert.AreEqual("A25", osr.Items.Last().Identifier); IOpenSearchable entity2 = TestOpenSearchable.GenerateNumberedItomFeed("B", 100, TimeSpan.FromHours(-1)); entities.Add(entity2); multiEntity = new MultiGenericOpenSearchable(entities, ose, true); nvc = new NameValueCollection(); nvc.Set("count", "10"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(200, osr.TotalResults); Assert.AreEqual(10, osr.Count); Assert.AreEqual("A1", osr.Items.First().Identifier); Assert.AreEqual("B5", osr.Items.Last().Identifier); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(200, osr.TotalResults); Assert.AreEqual(10, osr.Count); Assert.AreEqual("A1", osr.Items.First().Identifier); Assert.AreEqual("B5", osr.Items.Last().Identifier); nvc.Set("count", "4"); nvc.Set("startIndex", "2"); nvc.Set("startPage", "1"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(4, osr.Count); Assert.AreEqual("B1", osr.Items.First().Identifier); Assert.AreEqual("A3", osr.Items.Last().Identifier); nvc.Set("count", "4"); nvc.Set("startIndex", "4"); nvc.Set("startPage", "1"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(4, osr.Count); Assert.AreEqual("B2", osr.Items.First().Identifier); Assert.AreEqual("A4", osr.Items.Last().Identifier); nvc.Set("count", "4"); nvc.Set("startIndex", "4"); nvc.Set("startPage", "2"); osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(4, osr.Count); Assert.AreEqual("B4", osr.Items.First().Identifier); Assert.AreEqual("A6", osr.Items.Last().Identifier); }
public void MultiLimitTwoTest() { AddinManager.Initialize(); AddinManager.Registry.Update(null); OpenSearchEngine ose = new OpenSearchEngine(); ose.LoadPlugins(); IOpenSearchable entity1 = TestOpenSearchable.GenerateNumberedItomFeed("A", 1, new TimeSpan(0)); IOpenSearchable entity2 = TestOpenSearchable.GenerateNumberedItomFeed("B", 1, TimeSpan.FromHours(-1)); List<IOpenSearchable> entities = new List<IOpenSearchable>(); entities.Add(entity1); entities.Add(entity2); IOpenSearchable multiEntity = new MultiGenericOpenSearchable(entities, ose, true); NameValueCollection nvc = new NameValueCollection(); var osr = ose.Query(multiEntity, nvc, "atom"); Assert.AreEqual(2, osr.Count); }
public object Post(TypeImportRequest request) { OpenSearchEngine ose = new OpenSearchEngine(); ose.LoadPlugins(); ose.DefaultTimeOut = 60000; OpenSearchUrl url = new OpenSearchUrl(request.url); IOpenSearchable entity = new GenericOpenSearchable(url, ose); IOpenSearchableElasticType type = ecf.GetOpenSearchableElasticTypeByNameOrDefault(request.IndexName, request.TypeName); IOpenSearchResultCollection osres = ose.Query(entity, new NameValueCollection()); OpenSearchFactory.RemoveLinksByRel(ref osres, "alternate"); OpenSearchFactory.RemoveLinksByRel(ref osres, "via"); OpenSearchFactory.RemoveLinksByRel(ref osres, "self"); OpenSearchFactory.RemoveLinksByRel(ref osres, "search"); IElasticCollection documents = type.FromOpenSearchResultCollection(osres); BulkRequest bulkRequest = new BulkRequest() { Refresh = true, Consistency = Consistency.One, Index = request.IndexName }; foreach (var doc in documents.Items) { bulkRequest.Operations.Add(new BulkIndexOperation<IElasticItem>((IElasticItem)doc) { Id = doc.Id }); } var response = client.Bulk(bulkRequest); return response; }