Exemplo n.º 1
0
        public List <ResultData> RetrieveEBooks(IndexerType indexerType, Query query, List <string> fieldNames, Sort sort)
        {
            var             results   = new List <ResultData>();
            List <Document> documents = documentRetriever.RetrieveDocuments(query, true, sort);
            Analyzer        analyzer  = AnalyzerService.GetAnalyzer(indexerType);

            foreach (Document document in documents)
            {
                ResultData resultData = GenerateResultData(document);
                resultData.Highlights = GenerateHighlights(analyzer, query, document, fieldNames);
                results.Add(resultData);
            }

            return(results);
        }
Exemplo n.º 2
0
        public static Query BuildQuery(IndexerType indexerType, QueryType queryType, string fieldName, string fieldValue)
        {
            Query    query    = null;
            Analyzer analyzer = AnalyzerService.GetAnalyzer(indexerType);

            QueryParser queryParser = new QueryParser(VERSION, fieldName, analyzer);

            fieldName  = fieldName.Trim();
            fieldValue = fieldValue.Trim();

            if (queryType.Equals(QueryType.STANDARD))
            {
                try {
                    query = queryParser.Parse(fieldValue);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            else if (queryType.Equals(QueryType.FUZZY))
            {
                Term term = new Term(fieldName, fieldValue);
                query = new FuzzyQuery(term);
            }

            else if (queryType.Equals(QueryType.PHRASE))
            {
                StringTokenizer tokenizedFieldValue = new StringTokenizer(fieldValue);
                query = new PhraseQuery();

                while (tokenizedFieldValue.HasMoreTokens())
                {
                    Term term = new Term(fieldName, tokenizedFieldValue.NextToken());
                    ((PhraseQuery)query).Add(term);
                }
            }

            return(query);
        }
Exemplo n.º 3
0
 public DocumentRetriever(IndexerType indexerType, string indexDirPath)
 {
     indexDirectoryPath = indexDirPath;
     analyzer           = AnalyzerService.GetAnalyzer(indexerType);
 }
Exemplo n.º 4
0
 public DocumentRetriever(IndexerType indexerType, string indexDirPath, int maxHits)
 {
     MAX_HITS           = maxHits;
     indexDirectoryPath = indexDirPath;
     analyzer           = AnalyzerService.GetAnalyzer(indexerType);
 }