private void CreateNewLuceneControllerInstance() { if (_luceneController != null) { LuceneController.ClearInstance(); _luceneController.Dispose(); } _luceneController = new LuceneControllerImpl(); LuceneController.SetTestableInstance(_luceneController); }
public void TearDown() { this._luceneController.Dispose(); this.DeleteIndexFolder(); InternalSearchController.ClearInstance(); UserController.ClearInstance(); SearchHelper.ClearInstance(); LuceneController.ClearInstance(); this._luceneController = null; }
public void TearDown() { this.mockHostController = null; Globals.DependencyProvider = null; this.luceneController.Dispose(); this.DeleteIndexFolder(); InternalSearchController.ClearInstance(); UserController.ClearInstance(); SearchHelper.ClearInstance(); LuceneController.ClearInstance(); this.luceneController = null; Globals.DependencyProvider = null; }
public void TearDown() { LuceneController.ClearInstance(); this.luceneController.Dispose(); this.DeleteIndexFolder(); SearchHelper.ClearInstance(); Globals.DependencyProvider = null; this.mockHostController = null; this.luceneController = null; this.cachingProvider = null; this.mockSearchHelper = null; this.mockSearchQuery = null; }
private void CreateNewLuceneControllerInstance() { DeleteIndexFolder(); InternalSearchController.SetTestableInstance(new InternalSearchControllerImpl()); _internalSearchController = InternalSearchController.Instance; if (_luceneController != null) { LuceneController.ClearInstance(); _luceneController.Dispose(); } _luceneController = new LuceneControllerImpl(); LuceneController.SetTestableInstance(_luceneController); }
public List <IssueDocument> SearchText(string searchString, string sort, int pageSize, int pageNumber) { List <IssueDocument> result; DateTime ini = DateTime.Now; // get the lucene query using the lucene parsing capabilities // Query luceneQuery = LuceneController.GetLuceneQuery(searchString); // perform Lucene Search algorithm result = LuceneController.DoSearch(searchString, (pageNumber - 1) * pageSize, pageSize, sort); return(result); }
public bool UpdateIndex(int taskId) { if (ConfigurationController.RunSpanishIndexing) { T.TraceMessage("Updating ES index..."); LuceneController.UpdateIndex("ES"); T.TraceMessage(" done updating ES index"); T.TraceMessage("Moving ES index..."); if (!string.IsNullOrEmpty(ConfigurationController.IndexRootPath)) { LuceneController.MoveIndex(false, "ES", 1); } T.TraceMessage(" done moving ES index"); } if (ConfigurationController.RunEnglishIndexing) { T.TraceMessage("Updating EN index..."); LuceneController.UpdateIndex("EN"); T.TraceMessage(" done updating EN index"); T.TraceMessage("Moving EN index..."); if (!string.IsNullOrEmpty(ConfigurationController.IndexRootPath)) { LuceneController.MoveIndex(false, "EN", 1); } T.TraceMessage(" done moving EN index"); } if (ConfigurationController.RunHebrewIndex) { T.TraceMessage("Updating HE index..."); LuceneController.UpdateIndex("HE"); T.TraceMessage(" done updating HE index"); T.TraceMessage("Moving HE index..."); if (!string.IsNullOrEmpty(ConfigurationController.IndexRootPath)) { LuceneController.MoveIndex(false, "HE", 1); } T.TraceMessage(" done moving HE index"); } return(true); }
private void AddRulles(BooleanQuery q, List <FilterRule> filterRules, Occur cond) { foreach (var rule in filterRules) { string fieldName = rule.Field; if (fieldName == "id") { fieldName = "$id"; } if (fieldName == "userid") { fieldName = "$userid"; } if (rule.FieldOperator == OperatorEnum.EQUAL) { if (rule.FieldType == FieldTypeEnum.BOOLEAN) { int ival = rule.Value.AsBoolean ? 1 : 0; q.Add(NumericRangeQuery.NewIntRange(fieldName, ival, ival, true, true), cond); } else if (rule.FieldType == FieldTypeEnum.FLOAT) { float fval = rule.Value.AsFloat; q.Add(NumericRangeQuery.NewFloatRange(fieldName, fval, fval, true, true), cond); } else if (rule.FieldType == FieldTypeEnum.STRING || rule.FieldType == FieldTypeEnum.TEXT || rule.FieldType == FieldTypeEnum.HTML) { q.Add(LuceneController.ParseQuery(rule.Value.AsString + "*", fieldName), cond); } else { string searchstring = QueryParser.Escape(rule.Value.AsString); q.Add(new TermQuery(new Term(fieldName, searchstring)), cond); } } else if (rule.FieldOperator == OperatorEnum.NOT_EQUAL) { q.Add(new TermQuery(new Term(fieldName, rule.Value.AsString)), Occur.MUST_NOT); } else if (rule.FieldOperator == OperatorEnum.START_WITH) { if (rule.FieldType == FieldTypeEnum.STRING || rule.FieldType == FieldTypeEnum.TEXT || rule.FieldType == FieldTypeEnum.HTML) { q.Add(LuceneController.ParseQuery(rule.Value.AsString + "*", fieldName), cond); } else { q.Add(new WildcardQuery(new Term(fieldName, rule.Value.AsString + "*")), cond); } } else if (rule.FieldOperator == OperatorEnum.IN) { BooleanQuery arrQ = new BooleanQuery(); foreach (var arrItem in rule.MultiValue) { arrQ.Add(new TermQuery(new Term(fieldName, QueryParser.Escape(arrItem.AsString))), Occur.SHOULD); // OR /* * var phraseQ = new PhraseQuery(); * phraseQ.Add(new Term(fieldName, arrItem.AsString)); * arrQ.Add(phraseQ, Occur.SHOULD); // OR */ } q.Add(arrQ, cond); } else if (rule.FieldOperator == OperatorEnum.BETWEEN) { if (rule.FieldType == FieldTypeEnum.DATETIME) { var startDate = rule.LowerValue.AsDateTime; var endDate = rule.UpperValue.AsDateTime; q.Add(NumericRangeQuery.NewLongRange(fieldName, startDate.Ticks, endDate.Ticks, true, true), cond); } } else if (rule.FieldOperator == OperatorEnum.GREATER_THEN_OR_EQUALS) { DateTime startDate = rule.Value.AsDateTime; DateTime endDate = DateTime.MaxValue; q.Add(NumericRangeQuery.NewLongRange(fieldName, startDate.Ticks, endDate.Ticks, true, true), cond); } else if (rule.FieldOperator == OperatorEnum.LESS_THEN_OR_EQUALS) { if (rule.FieldType == FieldTypeEnum.DATETIME) { DateTime startDate = DateTime.MinValue; DateTime endDate = rule.Value.AsDateTime; q.Add(NumericRangeQuery.NewLongRange(fieldName, startDate.Ticks, endDate.Ticks, true, true), cond); } } else if (rule.FieldOperator == OperatorEnum.GREATER_THEN) { } else if (rule.FieldOperator == OperatorEnum.LESS_THEN) { } } }