0
Я создал свой собственный анализатор, который называется «mynGram». Но я не могу добавить его в Analysis из-за null. Каков правильный способ создания индекса с помощью пользовательского анализатора?IndexSettings Анализ ElasticSearch Nest имеет значение NULL. Как добавить пользовательский анализатор?
const string indexName = "taskmanager";
ConnectionSettings settings = new ConnectionSettings(new Uri("http://localhost:9200")).DefaultIndex("taskmanager").DefaultTypeNameInferrer(t => "tasks");
elasticClient = new ElasticClient(settings);
IndexSettings indexSettings = new IndexSettings();
CustomAnalyzer customAnalyzer = new CustomAnalyzer();
customAnalyzer.CharFilter = new List<string>();
customAnalyzer.Tokenizer = "mynGram";
customAnalyzer.Filter = new List<string> { "lowercase" };
// test
// Analysis is null
indexSettings.Analysis = new Analysis();
// Analyzers is null
indexSettings.Analysis.Analyzers.Add("mynGram", customAnalyzer);
indexSettings.Analysis.Tokenizers.Add("mynGram", new NGramTokenizer { MaxGram = 10, MinGram = 2 });
IndexState indexConfig = new IndexState
{
Settings = indexSettings
};
elasticClient.CreateIndex(indexName, i => i
.InitializeUsing(indexConfig)
);
И до этого я установил этот пользовательский анализатор в атрибут Analyzer.
[Text(Name = "Title", Index = false, Store = true, Analyzer = "mynGram")]
public string Title { get; set; }
какая версия NEST? –