 <p>The more specific you can be with your question the better the answers you receive will be. Nevertheless, here is an index that sets up an analyzer (with filter) and tokenizer (EdgeNGram) and then uses them to create an autocomplete index on the Name field of a Tag class.</p> <pre class="lang-cs prettyprint-override"><code>public class Tag { public string Name { get; set; } } Nest.IElasticClient client = null; // Connect to ElasticSearch var createResult = client.CreateIndex(indexName, index =&gt; index .Analysis(analysis =&gt; analysis .Analyzers(a =&gt; a .Add( "autocomplete", new Nest.CustomAnalyzer() { Tokenizer = "edgeNGram", Filter = new string[] { "lowercase" } } ) ) .Tokenizers(t =&gt; t .Add( "edgeNGram", new Nest.EdgeNGramTokenizer() { MinGram = 1, MaxGram = 20 } ) ) ) .AddMapping&lt;Tag&gt;(tmd =&gt; tmd .Properties(props =&gt; props .MultiField(p =&gt; p .Name(t =&gt; t.Name) .Fields(tf =&gt; tf .String(s =&gt; s .Name(t =&gt; t.Name) .Index(Nest.FieldIndexOption.not_analyzed) ) .String(s =&gt; s .Name(t =&gt; t.Name.Suffix("autocomplete")) .Index(Nest.FieldIndexOption.analyzed) .IndexAnalyzer("autocomplete") ) ) ) ) ) ); </code></pre> <p>There is also a fairly complete mapping example in NEST's unit test project on github. <a href="https://github.com/elasticsearch/elasticsearch-net/blob/develop/src/Tests/Nest.Tests.Unit/Core/Map/FluentMappingFullExampleTests.cs" rel="nofollow">https://github.com/elasticsearch/elasticsearch-net/blob/develop/src/Tests/Nest.Tests.Unit/Core/Map/FluentMappingFullExampleTests.cs</a></p> <p><strong>Edit:</strong></p> <p>To query the index, do something like the following:</p> <pre class="lang-cs prettyprint-override"><code>string queryString = ""; // search string var results = client.Search&lt;Tag&gt;(s =&gt; s .Query(q =&gt; q .Text(tq =&gt; tq .OnField(t =&gt; t.Name.Suffix("autocomplete")) .QueryString(queryString) ) ) ); </code></pre>