public List<HintResult> Search(Predicate query, int count) { if (_searcher == null) { _searcher = new IndexSearcher(this._directory, true); } TopDocs docsFound = _searcher.Search(query.GetQuery(), count); var list = new List<HintResult>(); foreach (var score in docsFound.ScoreDocs) { Document doc = this._searcher.Doc(score.doc); var result = new HintResult(); foreach (var field in doc.GetFields()) { //result.FieldsValues.Add(field. .Name(), field.StringValue()); } list.Add(result); } return list; }
public Predicate CreateQuery(string key, string value) { // ReSharper disable CSharpWarnings::CS0612 var parser = new QueryParser(key, _analyzer); // ReSharper restore CSharpWarnings::CS0612 if (string.IsNullOrWhiteSpace(value)) throw new Exception(); Query query = parser.Parse(value); var predicate = new Predicate(); predicate.AddQuery(query); return predicate; }