Указание и использование NGramTokenizer с клиентом C # NEST для Elastic Search

Обновлено, чтобы показать рабочий образец

Я пытаюсь сделать частичный поиск по коллекции имен пользователей в ElasticSearch.

Поиск вокруг указал мне вnGram Tokenizer направление, но я поставлен в тупик при правильной реализации и не могу получить никаких результатов.

Это соответствующий код, извлеченный из проекта, над которым я работаю.

Я пробовал разные комбинации и типы поиска безрезультатно.

setup.cs

var client = new ElasticClient(settings.ConnectionSettings);

// (Try and) Setup the nGram tokenizer.
var indexSettings = new IndexSettings();
var custonAnalyzer = new CustomAnalyzer();

customAnalyzer.Tokenizer = "mynGram";
customAnalyzer.Filter = new List<string> { "lowercase" };

indexSettings.Analysis.Analyzers.Add("mynGram", customAnalyzer);

indexSettings.Analysis.Tokenizers.Add("mynGram", new NGramTokenizer
                                                    {
                                                        MaxGram = 10,
                                                        MinGram = 2
                                                    });

client.CreateIndex(settings.ConnectionSettings.DefaultIndex, indexSettings);

client.MapFromAttributes<Profile>();

// Create and add a new profile object.
var profile = new Profile
                  {
                      Id = "1",
                      Username = "Russell"
                  };


client.IndexAsync(profile);

// Do search for object
var s = new SearchDescriptor<Profile>().Query(t => t.Term(c => c.Username, "russ"));

var results = client.Search<Profile>(s);

Profile.cs

public class Profile
{
    public string Id { get; set; }

    [ElasticProperty(IndexAnalyzer = "mynGram")]
    public string Username { get; set; }
}

Любые советы будут высоко оценены.

Ответы на вопрос(1)

Ваш ответ на вопрос