public void SearchDoc_SimpleQueryString(ElasticClient client) { var simpleQueryStringQuery = new SimpleQueryStringQuery() { Name = "named_query", Boost = 1.1, Fields = Infer.Field <Product>(p => p.Description).And("name"), Query = "apple", Analyzer = "standard", DefaultOperator = Operator.Or, Flags = SimpleQueryStringFlags.And | SimpleQueryStringFlags.Near, Lenient = true, AnalyzeWildcard = true, MinimumShouldMatch = "30%" }; var searchRequest = new SearchRequest <Product>(Indices.Parse("esdemo"), Types.Parse("product")) { From = 0, Size = 10, Query = simpleQueryStringQuery }; var searchResponse = client.Search <Product>(searchRequest); var list = searchResponse.Documents.ToList(); var count = searchResponse.Total; System.Console.WriteLine("SimpleQueryStringQuery"); System.Console.WriteLine(list.ToJsonString()); System.Console.WriteLine(count); }
public void Simple_query_string_query_must_transform_correclty_to_ES() { var query = new SimpleQueryStringQuery("\"fried eggs\" +(eggplant | potato) -frittata", new string[] { "head" }, true); Assert.IsTrue(query.Query == "\"fried eggs\" +(eggplant | potato) -frittata"); Assert.IsTrue(query.IsAnd); Assert.IsTrue(query.Fields[0] == "head"); string json = query.ToString(); var jo = JsonObject.Parse(json); var q = jo.ToQuery(); Assert.IsTrue(q.Type == QueryType.SimpleQueryStringQuery); query = q as SimpleQueryStringQuery; Assert.IsTrue(query.Query == "\"fried eggs\" +(eggplant | potato) -frittata"); Assert.IsTrue(query.IsAnd); Assert.IsTrue(query.Fields[0] == "head"); }