public void CompletionSuggestDescriptorFuzzyTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor <ElasticsearchProject>() .OnField("suggest") .Text("n") .Fuzzy(f => f .EditDistance(2) .Transpositions(false) .MinLength(5) .PrefixLength(4)); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ ""fuzzy"": { edit_distance: 2, transpositions: false, min_length: 5, prefix_length: 4 }, field: ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorFuzzyTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor<ElasticSearchProject>() .OnField("suggest") .Text("n") .Fuzzy(f => f .EditDistance(2) .Transpositions(false) .MinLength(5) .PrefixLength(4)); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ ""fuzzy"": { ""edit_distance"": 2, ""transpositions"": false, ""min_length"": 5, ""prefix_length"": 4 }, ""field"": ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
/// <summary> /// The completion suggester is a so-called prefix suggester. /// It does not do spell correction like the term or phrase suggesters but allows basic auto-complete functionality. /// </summary> public SuggestDescriptor <T> Completion(string name, Func <CompletionSuggestDescriptor <T>, CompletionSuggestDescriptor <T> > suggest) { name.ThrowIfNullOrEmpty("name"); suggest.ThrowIfNull("suggest"); var desc = new CompletionSuggestDescriptor <T>(); var item = suggest(desc); Self.Suggest.Add(name, item); return(this); }
public void CompletionSuggestDescriptorTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor <ElasticsearchProject>() .OnField("suggest") .Text("n"); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ field: ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor<ElasticSearchProject>() .OnField("suggest") .Text("n"); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ ""field"": ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorDefaultFuzzinessTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor<ElasticsearchProject>() .OnField("suggest") .Text("n") .Fuzzy(); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ field: ""suggest"", fuzzy: {}, }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorFuzzinessDoubleTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor <ElasticsearchProject>() .OnField("suggest") .Text("n") .Fuzziness(f => f.Fuzziness(0.4)); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ fuzzy: { fuzziness: 0.4 }, field: ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorFuzzinessDoubleTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor<ElasticsearchProject>() .OnField("suggest") .Text("n") .Fuzziness(f => f.Fuzziness(0.4)); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ fuzzy: { fuzziness: 0.4 }, field: ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
/// <summary> /// The completion suggester is a so-called prefix suggester. /// It does not do spell correction like the term or phrase suggesters but allows basic auto-complete functionality. /// </summary> public SearchDescriptor <T> SuggestCompletion(string name, Func <CompletionSuggestDescriptor <T>, CompletionSuggestDescriptor <T> > suggest) { name.ThrowIfNullOrEmpty("name"); suggest.ThrowIfNull("suggest"); if (Self.Suggest == null) { Self.Suggest = new Dictionary <string, ISuggestBucket>(); } var desc = new CompletionSuggestDescriptor <T>(); var item = suggest(desc); ICompletionSuggester i = item; var bucket = new SuggestBucket { Text = i.Text, Completion = item }; Self.Suggest.Add(name, bucket); return(this); }
public void CompletionSuggestDescriptorDefaultFuzzyTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor <ElasticsearchProject>() .OnField("suggest") .Text("n") .Fuzzy(); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ fuzzy: { edit_distance: 1, transpositions: true, min_length: 3, prefix_length: 1 }, field: ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorDefaultFuzzyTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor<ElasticsearchProject>() .OnField("suggest") .Text("n") .Fuzzy(); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ fuzzy: { edit_distance: 1, transpositions: true, min_length: 3, prefix_length: 1 }, field: ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorDefaultFuzzyTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor<ElasticSearchProject>() .OnField("suggest") .Text("n") .Fuzzy(); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ ""fuzzy"": { ""edit_distance"": 1, ""transpositions"": true, ""min_length"": 3, ""prefix_length"": 1 }, ""field"": ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorDefaultFuzzyTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor <ElasticSearchProject>() .OnField("suggest") .Text("n") .Fuzzy(); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ ""fuzzy"": { ""edit_distance"": 1, ""transpositions"": true, ""min_length"": 3, ""prefix_length"": 1 }, ""field"": ""suggest"" }"; Assert.IsTrue(json.JsonEquals(expected), json); }
public void CompletionSuggestDescriptorFuzzyTest() { var completionSuggestDescriptor = new CompletionSuggestDescriptor<ElasticsearchProject>() .OnField("suggest") .Text("n") .Fuzzy(f => f .Transpositions(false) .MinLength(5) .PrefixLength(4)); var json = TestElasticClient.Serialize(completionSuggestDescriptor); var expected = @"{ field: ""suggest"", ""fuzzy"": { transpositions: false, min_length: 5, prefix_length: 4 } }"; Assert.IsTrue(json.JsonEquals(expected), json); }