本文整理汇总了C#中Nest.ConnectionSettings.SetDefaultTypeNameInferrer方法的典型用法代码示例。如果您正苦于以下问题:C# ConnectionSettings.SetDefaultTypeNameInferrer方法的具体用法?C# ConnectionSettings.SetDefaultTypeNameInferrer怎么用?C# ConnectionSettings.SetDefaultTypeNameInferrer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nest.ConnectionSettings
的用法示例。
在下文中一共展示了ConnectionSettings.SetDefaultTypeNameInferrer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
public static void Main(string[] args)
{
var node = new Uri("http://localhost:9200");
var settings = new ConnectionSettings(node, "elastic-searcher");
settings.SetDefaultTypeNameInferrer(t => t.Name.ToUpperInvariant());
IElasticClient client = new ElasticClient(settings);
IPersonSearch personSearcher = new PersonSearch(client);
Utils.IndexItems(client);
var value = Console.ReadLine();
int id = Convert.ToInt32(value);
if (id != 0)
{
personSearcher.GetItem<Person>(id);
}
else
{
Utils.ClearItems(client);
}
Console.ReadKey();
}
示例2: CreateClient
public static IElasticClient CreateClient(IContainer container)
{
var configuration = ClientConfigurationSection.GetConfiguration();
var connectionSettings = new ConnectionSettings(
new Uri(configuration.ElasticSearchUrl)
);
ConfigureIdProperty(connectionSettings);
connectionSettings.SetJsonSerializerSettingsModifier(x => {
x.Converters = ContentIndexer.Instance.IndexingConventions.JsonConverters;
x.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});
connectionSettings.SetDefaultTypeNameInferrer(x => typeof(IContent).IsAssignableFrom(x) ? Constants.EPiServerContentTypeName : null);
connectionSettings.SetDefaultIndex(container.GetInstance<IndexResolver>().ResolveIndex());
connectionSettings.ExposeRawResponse();
container.Configure(x => x.For<ConnectionSettings>().Use(connectionSettings));
return new ElasticClient(connectionSettings, null, new PreSerializationProccessor(connectionSettings));
}
示例3: ConfigureElastic
public IElasticClient ConfigureElastic()
{
var connectionString = ConfigurationManager.ConnectionStrings["Elastic"];
if (connectionString == null)
throw new ArgumentException("No elastic connection string found");
var data = connectionString.ConnectionString.Split(';');
var url = data.FirstOrDefault(x => x.StartsWith("Url", StringComparison.CurrentCultureIgnoreCase));
if (url == null)
throw new ArgumentException("No URL parameter in elastic connection string");
var index = data.FirstOrDefault(x => x.StartsWith("DefaultIndex", StringComparison.CurrentCultureIgnoreCase));
if (index.IsNullOrEmpty())
throw new ArgumentException("No DefaultIndex parameter in elastic connection string");
index = index.Substring(13);
var node = new Uri(url.Substring(4));
var settings = new Nest.ConnectionSettings(node);
settings.SetDefaultIndex(index);
settings.SetDefaultTypeNameInferrer(type => type.FullName.Replace("Demo.Application.ServiceStack.", "").Replace('.', '_'));
// Disable camel case field names (need to match out POCO field names)
settings.SetDefaultPropertyNameInferrer(field => field);
var client = new ElasticClient(settings);
if (!client.IndexExists(index).Exists)
client.CreateIndex(index, i => i
.Analysis(analysis => analysis
.TokenFilters(f => f
.Add("ngram", new Nest.NgramTokenFilter { MinGram = 2, MaxGram = 15 })
)
.Analyzers(a => a
.Add(
"default_index",
new Nest.CustomAnalyzer
{
Tokenizer = "standard",
Filter = new[] { "standard", "lowercase", "asciifolding", "kstem", "ngram" }
}
)
.Add(
"suffix",
new Nest.CustomAnalyzer
{
Tokenizer = "keyword",
Filter = new[] { "standard", "lowercase", "asciifolding", "reverse" }
}
)
)
));
return client;
}