public void TestTextQuery() { string textType = "text"; var typeSetting = new TypeSetting(textType); typeSetting.AddStringField("message").Analyzer="whitespace"; client.PutMapping(index, typeSetting); client.Refresh(); var dict = new Dictionary<string, object>(); dict["message"] = "the quick brown fox jumped over thelazy dog"; var op= client.Index(index, textType, "text_k1", dict); Assert.True(op.Success); client.Refresh(); var textQuery = new TextQuery("message", "fox"); var result= client.Search(index, textType, textQuery); Assert.AreEqual(1,result.GetTotalCount()); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { TextQuery term = (TextQuery)value; if (term != null) { writer.WriteStartObject(); writer.WritePropertyName("text"); writer.WriteStartObject(); writer.WritePropertyName(term.Field); writer.WriteStartObject(); writer.WritePropertyName("query"); writer.WriteValue(term.Text); if (!string.IsNullOrEmpty(term.QueryType)) { writer.WritePropertyName("type"); writer.WriteValue(term.QueryType); } if (term.Operator != default(Operator)) { writer.WritePropertyName("operator"); writer.WriteValue(term.Operator.ToString().ToLower()); } if (term.Slop != default(int)) { writer.WritePropertyName("slop"); writer.WriteValue(term.Slop); } if (!Equals(term.Fuzziness, default(float))) { writer.WritePropertyName("fuzziness"); writer.WriteValue(term.Fuzziness); } if (!Equals(term.Boost, default(float))) { writer.WritePropertyName("boost"); writer.WriteValue(term.Boost); } if (!Equals(term.PrefixLength, default(int))) { writer.WritePropertyName("prefix_length"); writer.WriteValue(term.PrefixLength); } if (!Equals(term.MaxExpansions, default(int))) { writer.WritePropertyName("max_expansions"); writer.WriteValue(term.MaxExpansions); } if (!string.IsNullOrEmpty(term.Analyzer)) { writer.WritePropertyName("analyzer"); writer.WriteValue(term.Analyzer); } writer.WriteEndObject(); writer.WriteEndObject(); writer.WriteEndObject(); } }