public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { OrFilter term = (OrFilter)value; if (term != null) { writer.WriteStartObject(); writer.WritePropertyName("or"); writer.WriteStartObject(); writer.WritePropertyName("filters"); writer.WriteStartArray(); foreach (var filter in term.Filters) { serializer.Serialize(writer, filter); } writer.WriteEndArray(); writer.WriteEndObject(); // writer.WriteRaw(",\"_cache\": " + term.Cache.ToString().ToLower()); writer.WriteEndObject(); } }
public void TestOrFilter() { var termFilter = new TermFilter("age", 24); var termFilter1 = new TermFilter("name", "张三丰"); var orFilter = new OrFilter(termFilter,termFilter1); var termQuery = new TermQuery("type", "common"); var q = new FilteredQuery(termQuery, orFilter); var result = client.Search(index, "type" , q, 0, 5); Assert.AreEqual(2, result.GetTotalCount()); }