public override void Test() { OpenDMS.Storage.Providers.EngineRequest request = new OpenDMS.Storage.Providers.EngineRequest(); request.Engine = _engine; request.Database = _db; request.OnActionChanged += new EngineBase.ActionDelegate(EngineAction); request.OnProgress += new EngineBase.ProgressDelegate(Progress); request.OnComplete += new EngineBase.CompletionDelegate(Complete); request.OnTimeout += new EngineBase.TimeoutDelegate(Timeout); request.OnError += new EngineBase.ErrorDelegate(Error); request.AuthToken = _window.Session.AuthToken; request.RequestingPartyType = OpenDMS.Storage.Security.RequestingPartyType.User; Clear(); Search.Query query = new Search.Query(); Search.Tokens.Field tags = new Search.Tokens.Field("tags"); tags.Tokens.Add(new Search.Tokens.Term("tag1")); query.Add(tags); Search.Tokens.Field content = new Search.Tokens.Field("attachment"); content.Tokens.Add(new Search.Tokens.Term("content")); query.Add(content); WriteLine("Starting SearchTest test..."); _start = DateTime.Now; _engine.Search(request, new SearchArgs(query)); }
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); }