本文整理汇总了C#中ElasticsearchContext类的典型用法代码示例。如果您正苦于以下问题:C# ElasticsearchContext类的具体用法?C# ElasticsearchContext怎么用?C# ElasticsearchContext使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ElasticsearchContext类属于命名空间,在下文中一共展示了ElasticsearchContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SearchQueryBoolQuery
public void SearchQueryBoolQuery()
{
var search = new Search
{
Query = new Query(
new BoolQuery
{
Must = new List<IQuery>
{
new RangeQuery("id") { GreaterThanOrEqualTo = "2", LessThan = "3", LessThanOrEqualTo = "2", GreaterThan = "1" }
},
MustNot = new List<IQuery>
{
new RangeQuery("id") {GreaterThan="34"}
},
Should = new List<IQuery>
{
new TermQuery("name", "two")
},
Boost=2.0,
DisableCoord= false,
MinimumShouldMatch= "2"
}
)
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
context.TraceProvider = new ConsoleTraceProvider();
Assert.IsTrue(context.IndexTypeExists<SearchTest>());
var items = context.Search<SearchTest>(search);
Assert.AreEqual(2, items.PayloadResult.Hits.HitsResult[0].Source.Id);
}
}
示例2: SearchAggTermsBucketAggregationnWithChildrenSubAggNoHits
public void SearchAggTermsBucketAggregationnWithChildrenSubAggNoHits()
{
var search = new Search
{
Aggs = new List<IAggs>
{
new TermsBucketAggregation("test_min", "info")
{
Aggs = new List<IAggs>
{
new ChidrenBucketAggregation("childrenAgg", "testobjchildsep")
{
Aggs = new List<IAggs>
{
new TermsBucketAggregation("infoAgg", "info")
}
}
}
}
}
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<TestObjParentSep>());
Assert.IsTrue(context.IndexTypeExists<TestObjChildSep>());
var items = context.Search<TestObjParentSep>(search, new SearchUrlParameters { SeachType = SeachType.count });
var aggResult = items.PayloadResult.Aggregations.GetComplexValue<TermsBucketAggregationsResult>("test_min");
Assert.AreEqual(3, aggResult.Buckets[0].DocCount);
}
}
开发者ID:jnus,项目名称:ElasticsearchCRUD,代码行数:34,代码来源:SearchQueryQueryTopChildrenAndChidrenBucketAggregationTests.cs
示例3: CreateAliasForIndex2
public void CreateAliasForIndex2()
{
var indexAliasDtoTest = new IndexAliasDtoTest { Id = 1, Description = "Test index for aliases" };
var aliasParameters = new AliasParameters
{
Actions = new List<AliasBaseParameters>
{
new AliasAddParameters("test2", "indexaliasdtotests"),
new AliasAddParameters("test3", "indexaliasdtotests")
}
};
using (var context = new ElasticsearchContext(ConnectionString, _elasticsearchMappingResolver))
{
context.AddUpdateDocument(indexAliasDtoTest, indexAliasDtoTest.Id);
context.SaveChanges();
var result = context.Alias(aliasParameters.ToString());
Assert.IsTrue(result);
Assert.IsTrue(context.AliasExists("test2"));
Assert.IsTrue(context.AliasExists("test3"));
}
}
示例4: SearchAggGeohashGridBucketAggregationWithTopHitsSubWithNoHits
public void SearchAggGeohashGridBucketAggregationWithTopHitsSubWithNoHits()
{
var search = new Search
{
Aggs = new List<IAggs>
{
new GeohashGridBucketAggregation("testGeohashGridBucketAggregation", "location")
{
Aggs = new List<IAggs>
{
new TopHitsMetricAggregation("tophits")
}
}
}
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<SearchAggTest>());
var items = context.Search<SearchAggTest>(search, new SearchUrlParameters { SeachType = SeachType.count });
var aggResult = items.PayloadResult.Aggregations.GetComplexValue<GeohashGridBucketAggregationsResult>("testGeohashGridBucketAggregation");
var topHits = aggResult.Buckets[0].GetSubAggregationsFromJTokenName<TopHitsMetricAggregationsResult<SearchAggTest>>("tophits");
Assert.AreEqual(3, aggResult.Buckets[0].DocCount);
Assert.AreEqual(3, topHits.Hits.Total);
}
}
示例5: SearchQueryMoreLikeThisQuery
public void SearchQueryMoreLikeThisQuery()
{
var search = new Search
{
Query = new Query(
new MoreLikeThisQuery
{
Fields = new List<string> {"moreinfo"},
LikeText = "yes one",
MinTermFreq = 1,
Boost = 50,
MinDocFreq = 1,
PercentTermsToMatch = 0.01
}
)
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
context.TraceProvider = new ConsoleTraceProvider();
Assert.IsTrue(context.IndexTypeExists<MoreLikeThisTestDto>());
var items = context.Search<MoreLikeThisTestDto>(search);
Assert.AreEqual(2, items.PayloadResult.Hits.Total);
}
}
示例6: SearchAggFilterBucketAggregationWithChildrenNoHits
public void SearchAggFilterBucketAggregationWithChildrenNoHits()
{
var search = new Search
{
Aggs = new List<IAggs>
{
new FilterBucketAggregation("globalbucket", new GeoDistanceFilter("location", new GeoPoint(32,42), new DistanceUnitKilometer(10000) ))
{
Aggs = new List<IAggs>
{
new MaxMetricAggregation("maxAgg", "lift"),
new MinMetricAggregation("minAgg", "lift"),
new TopHitsMetricAggregation("topHits")
{
Size = 3
}
}
}
}
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<SearchAggTest>());
var items = context.Search<SearchAggTest>(search, new SearchUrlParameters { SeachType = SeachType.count });
var aggResult = items.PayloadResult.Aggregations.GetComplexValue<GlobalBucketAggregationsResult>("globalbucket");
var max = aggResult.GetSingleMetricSubAggregationValue<double>("maxAgg");
Assert.AreEqual(7, aggResult.DocCount);
Assert.AreEqual(2.9, max);
}
}
开发者ID:jnus,项目名称:ElasticsearchCRUD,代码行数:31,代码来源:FilterBucketAggregationAndMissingBucketAggregationTests.cs
示例7: CreateNewIndexAndMappingWithSimpleNullListAndNullArrayListAndAlias
public void CreateNewIndexAndMappingWithSimpleNullListAndNullArrayListAndAlias()
{
using (var context = new ElasticsearchContext(ConnectionString, new ElasticsearchSerializerConfiguration(_elasticsearchMappingResolver)))
{
context.TraceProvider = new ConsoleTraceProvider();
context.IndexCreate<AliasCreateIndexOne>(
new IndexDefinition
{
IndexAliases = new IndexAliases
{
Aliases = new List<IndexAlias>
{
new IndexAlias("testnew"), new IndexAlias("testnewroute")
{
Routing = "ddd"
}
}
}
});
Thread.Sleep(1500);
var result = context.IndexExists<AliasCreateIndexOne>();
Assert.IsTrue(result);
}
}
示例8: SearchAggScriptedMetricAggregationWithParamsWithNoHits
public void SearchAggScriptedMetricAggregationWithParamsWithNoHits()
{
var search = new Search
{
Aggs = new List<IAggs>
{
new ScriptedMetricAggregation("topScriptedMetricAggregation", "_agg.transactions.add(doc['lift'].value * _agg.times)")
{
InitScript= "_agg['transactions'] = []",
CombineScript= "script_calculated = 0; for (t in _agg.transactions) { script_calculated += t }; return script_calculated",
ReduceScript= "script_calculated = 0; for (a in _aggs) { script_calculated += a }; return script_calculated",
Params = new ParamsForScript("_agg")
{
Params = new List<ScriptParameter>
{
new ScriptParameter("times", 1.4),
}
}
}
}
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<SearchAggTest>());
var items = context.Search<SearchAggTest>(search, new SearchUrlParameters { SeachType = SeachType.count });
var aggResult = items.PayloadResult.Aggregations.GetSingleMetricAggregationValue<double>("topScriptedMetricAggregation");
Assert.AreEqual(22.82, aggResult);
}
}
示例9: SearchAggDateRangesBucketAggregationKeyedWithNoHits
public void SearchAggDateRangesBucketAggregationKeyedWithNoHits()
{
var search = new Search
{
Aggs = new List<IAggs>
{
new DateRangeBucketAggregation("testRangesBucketAggregation", "dateofdetails", "MM-yyy", new List<RangeAggregationParameter<string>>
{
new ToRangeAggregationParameter<string>("now-8M/M"),
new ToFromRangeAggregationParameter<string>("now-8M/M", "now-10M/M"),
new FromRangeAggregationParameter<string>("now-10M/M")
{
Key = "keyName"
}
})
{
Keyed= true
}
}
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<SearchAggTest>());
var items = context.Search<SearchAggTest>(search, new SearchUrlParameters { SeachType = SeachType.count });
var aggResult = items.PayloadResult.Aggregations.GetComplexValue<RangesNamedBucketAggregationsResult>("testRangesBucketAggregation");
var test = aggResult.Buckets.GetSubAggregationsFromJTokenName<RangeBucket>("keyName");
Assert.AreEqual(7, test.DocCount);
}
}
示例10: SearchAggSignificantTermsBucketAggregationPropertiesSet
public void SearchAggSignificantTermsBucketAggregationPropertiesSet()
{
var search = new Search
{
Query = new Query(new MatchAllQuery()),
Aggs = new List<IAggs>
{
new SignificantTermsBucketAggregation("testSignificantTermsBucketAggregation", "details")
{
BackgroundFilter= new TermFilter("name", "details"),
InformationRetrievalRetrieval = new MutualInformation
{
BackgroundIsSuperset = false,
IncludeNegatives = false
},
ExecutionHint= ExecutionHint.global_ordinals
}
}
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<SearchAggTest>());
var items = context.Search<SearchAggTest>(search, new SearchUrlParameters { SeachType = SeachType.count });
var aggResult = items.PayloadResult.Aggregations.GetComplexValue<SignificantTermsBucketAggregationsResult>("testSignificantTermsBucketAggregation");
Assert.AreEqual(7, aggResult.DocCount);
}
}
示例11: SearchAggGeohashGridBucketAggregationWithSubAggSignificantTermsBucketAggregationWithNoHits
public void SearchAggGeohashGridBucketAggregationWithSubAggSignificantTermsBucketAggregationWithNoHits()
{
var search = new Search
{
Aggs = new List<IAggs>
{
new GeohashGridBucketAggregation("termsDetails", "location")
{
Aggs = new List<IAggs>
{
new SignificantTermsBucketAggregation("testSignificantTermsBucketAggregation", "details")
},
Precision = 2
}
}
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<SearchAggTest>());
var items = context.Search<SearchAggTest>(search, new SearchUrlParameters { SeachType = SeachType.count });
var termsAggResult = items.PayloadResult.Aggregations.GetComplexValue<TermsBucketAggregationsResult>("termsDetails");
var significantAggResult = termsAggResult.Buckets[0].GetSubAggregationsFromJTokenName<SignificantTermsBucketAggregationsResult>("testSignificantTermsBucketAggregation");
Assert.AreEqual(3, significantAggResult.Buckets[0].BgCount);
}
}
示例12: CreateGeoShapeCircleMapping
public void CreateGeoShapeCircleMapping()
{
var geoShapeCircleDto = new GeoShapeCircleDto
{
CircleTest = new GeoShapeCircle
{
Coordinates = new GeoPoint(45, 45),
Radius="100m"
},
Id = "1",
Name = "test",
};
using (var context = new ElasticsearchContext(ConnectionString, new ElasticsearchSerializerConfiguration(_elasticsearchMappingResolver)))
{
context.TraceProvider = new ConsoleTraceProvider();
context.IndexCreate<GeoShapeCircleDto>();
Thread.Sleep(1500);
Assert.IsNotNull(context.IndexExists<GeoShapeCircleDto>());
context.AddUpdateDocument(geoShapeCircleDto, geoShapeCircleDto.Id);
context.SaveChanges();
Thread.Sleep(1500);
Assert.AreEqual(1, context.Count<GeoShapeCircleDto>());
var result = context.SearchById<GeoShapeCircleDto>(1);
Assert.AreEqual(geoShapeCircleDto.CircleTest.Coordinates.Count, result.CircleTest.Coordinates.Count);
}
}
示例13: SearchQueryQueryStringQueryAllProperties
public void SearchQueryQueryStringQueryAllProperties()
{
var search = new Search
{
Query = new Query(new QueryStringQuery("one document")
{
AllowLeadingWildcard = true,
Analyzer = LanguageAnalyzers.German,
AnalyzeWildcard = false,
AutoGeneratePhraseQueries = false,
Boost = 2.1,
DefaultField = "_all",
DefaultOperator = QueryDefaultOperator.OR,
EnablePositionIncrements = true,
Fuzziness = 0.5,
FuzzyMaxExpansions = 49,
FuzzyPrefixLength = 0,
Lenient = false,
Locale = "ROOT"
})
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<SearchTest>());
var items = context.Search<SearchTest>(search);
Assert.AreEqual(2, items.PayloadResult.Hits.Total);
}
}
示例14: SearchAggTermsBucketAggregationWithSubTopHitsMetricAggregationWithNoHits
public void SearchAggTermsBucketAggregationWithSubTopHitsMetricAggregationWithNoHits()
{
var search = new Search
{
Aggs = new List<IAggs>
{
new TermsBucketAggregation("test_min", "lift")
{
Aggs = new List<IAggs>
{
new TopHitsMetricAggregation("topHits")
{
Size = 5
}
}
}
}
};
using (var context = new ElasticsearchContext(ConnectionString, ElasticsearchMappingResolver))
{
Assert.IsTrue(context.IndexTypeExists<SearchAggTest>());
var items = context.Search<SearchAggTest>(search, new SearchUrlParameters { SeachType = SeachType.count });
var aggResult = items.PayloadResult.Aggregations.GetComplexValue<TermsBucketAggregationsResult>("test_min");
var hitsForBucket = aggResult.Buckets[0].GetSubAggregationsFromJTokenName<TopHitsMetricAggregationsResult<SearchAggTest>>("topHits");
Assert.AreEqual(3, aggResult.Buckets[0].DocCount);
Assert.AreEqual(2.1, hitsForBucket.Hits.HitsResult[0].Source.Lift);
}
}
示例15: CloseIndexWhichDoesNotExist
public void CloseIndexWhichDoesNotExist()
{
using (var context = new ElasticsearchContext(ConnectionString, new ElasticsearchSerializerConfiguration(_elasticsearchMappingResolver)))
{
context.IndexClose("help");
}
}