Example #1
0
        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;
        }
Example #2
0
        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;
        }