Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        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);
		}
Esempio n. 7
0
        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);
        }
Esempio n. 9
0
        /// <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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 13
0
        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);
		}