2016-12-02 2 views
0

Я хотел бы знать, как добавить пользовательский анализатор в качестве атрибута, который позволит мне автокарту вместо ручного отображения в упругом поиске гнездо клиента 2.xПользовательского Analyzer - Атрибут На основе Mapping - Гнездо 2.X

Пример: у меня есть модель

общественного класса Employee {

[String] 
    public string FName {get; set;} 

    [String(Analyzer = "my_analyzer")] 
    public string EmployeeId { get; set; } 
} 

Где я определяю my_analyzer так, что он может быть автоматически отображается?

ответ

0

Вы можете определить свой анализатор, когда вы создаете индекс.

public void CreateIndex(string indexName) 
{ 
    // Define the analyzer 
    var customAnalyzer = new CustomAnalyzer(); 
    customAnalyzer.Tokenizer = "my_tokenizer"; // add a tokenizer 
    customAnalyzer.Filter = new List<string>(); 
    customAnalyzer.Filter.ToList().Add("lowercase"); // add some filters 

    // Add the analyzer to your index settings 
    var request = new CreateIndexRequest(indexName); 
    request.Settings.Analysis.Analyzers = new Analyzers(); 
    request.Settings.Analysis.Analyzers.Add("my_analyzer", customAnalyzer); 

    // Create the index 
    ElasticClient nestClient = new ElasticClient(); 
    var indexResponse = nestClient.CreateIndex(request); 
} 
Смежные вопросы