Beispiel #1
0
        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);
        }
Beispiel #2
0
        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");
        }