Пример #1
0
        private void QueryBuildingTest()
        {
            Search.Query query = new Search.Query();

            // The
            query.Add(new Search.Tokens.Term("The"));

            // The "big red"
            Search.Tokens.Phrase p1 = new Search.Tokens.Phrase();
            p1.Tokens.Add(new Search.Tokens.Term("big"));
            p1.Tokens.Add(new Search.Tokens.Term("red"));
            query.Add(p1);

            // The "big red" dog^2
            query.Add(new Search.Tokens.Term("dog", new Search.Modifiers.Boost(2)));

            // jumps OR over
            Search.Tokens.Group g1 = new Search.Tokens.Group();
            g1.Tokens.Add(new Search.Tokens.Term("jumps"));
            g1.Tokens.Add(new Search.Tokens.Term("over", new Search.Operators.Or()));

            // The "big red" dog^2 (jumps OR over)
            query.Add(g1);

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow]
            query.Add(new Search.Tokens.Range("the", "yellow"));

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone
            query.Add(new Search.Tokens.Term("bone", new Search.Operators.Not()));

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone "but falls"~10
            Search.Tokens.Phrase p2 = new Search.Tokens.Phrase();
            p2.Tokens.Add(new Search.Tokens.Term("but"));
            p2.Tokens.Add(new Search.Tokens.Term("falls"));
            p2.Modifiers.Add(new Search.Modifiers.Proximity(10));
            query.Add(p2);

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone "but falls"~10 t~en
            query.Add(new Search.Tokens.Term("t?en", new Search.Modifiers.SingleWildcard()));

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone "but falls"~10 t~en rolls~0.5
            query.Add(new Search.Tokens.Term("rolls", new Search.Modifiers.Fuzzy(0.5f)));

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone "but falls"~10 t~en rolls~0.5 d*
            query.Add(new Search.Tokens.Term("d*", new Search.Modifiers.MultiWildcard()));


            string s = null;

            try
            {
                s = query.ToString();
            }
            catch (Exception e)
            {
                string a = "";
            }
            WriteLine(s);
        }
Пример #2
0
        private void QueryBuildingTest()
        {
            Search.Query query = new Search.Query();

            // The
            query.Add(new Search.Tokens.Term("The"));

            // The "big red"
            Search.Tokens.Phrase p1 = new Search.Tokens.Phrase();
            p1.Tokens.Add(new Search.Tokens.Term("big"));
            p1.Tokens.Add(new Search.Tokens.Term("red"));
            query.Add(p1);

            // The "big red" dog^2
            query.Add(new Search.Tokens.Term("dog", new Search.Modifiers.Boost(2)));

            // jumps OR over
            Search.Tokens.Group g1 = new Search.Tokens.Group();
            g1.Tokens.Add(new Search.Tokens.Term("jumps"));
            g1.Tokens.Add(new Search.Tokens.Term("over", new Search.Operators.Or()));

            // The "big red" dog^2 (jumps OR over)
            query.Add(g1);

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow]
            query.Add(new Search.Tokens.Range("the", "yellow"));

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone
            query.Add(new Search.Tokens.Term("bone", new Search.Operators.Not()));

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone "but falls"~10
            Search.Tokens.Phrase p2 = new Search.Tokens.Phrase();
            p2.Tokens.Add(new Search.Tokens.Term("but"));
            p2.Tokens.Add(new Search.Tokens.Term("falls"));
            p2.Modifiers.Add(new Search.Modifiers.Proximity(10));
            query.Add(p2);

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone "but falls"~10 t~en
            query.Add(new Search.Tokens.Term("t?en", new Search.Modifiers.SingleWildcard()));

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone "but falls"~10 t~en rolls~0.5
            query.Add(new Search.Tokens.Term("rolls", new Search.Modifiers.Fuzzy(0.5f)));

            //"The \"big red\" dog^2 (jumps OR over) [the TO yellow] NOT bone "but falls"~10 t~en rolls~0.5 d*
            query.Add(new Search.Tokens.Term("d*", new Search.Modifiers.MultiWildcard()));

            string s = null;
            try
            {
                s = query.ToString();
            }
            catch (Exception e)
            {
                string a = "";
            }
            WriteLine(s);
        }