public int SearchCount(LuceneSearcherConfiguration luceneSearcherConfiguration) { if (!CheckSearchConfiguration(luceneSearcherConfiguration)) { return(-1); } if (luceneSearcherConfiguration.ESearchMethod == ESearchMethod.FullText) { return(_indexSearcher?.Search(new MultiFieldQueryParser ( LuceneVersion.LUCENE_48, luceneSearcherConfiguration.Fields, new StandardAnalyzer(LuceneVersion.LUCENE_48) ).Parse(luceneSearcherConfiguration.Query), luceneSearcherConfiguration.MaxResult) .TotalHits ?? -1); } if (luceneSearcherConfiguration.WantAll) { return(_indexSearcher?.Search(GetAll(luceneSearcherConfiguration.All), luceneSearcherConfiguration.MaxResult).TotalHits ?? -1); } return(_indexSearcher?.Search(CreateQuery(luceneSearcherConfiguration), luceneSearcherConfiguration.MaxResult).TotalHits ?? -1); }
private bool CheckSearchConfiguration(LuceneSearcherConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (configuration.MaxResult == 0) { throw new ArgumentException(nameof(configuration)); } return(true); }
public LuceneStatistics(LuceneConfiguration configuration) { _luceneSearcher = new LuceneSearcherManager(configuration); _allSearchLog = new LuceneSearcherConfiguration { MaxResult = int.MaxValue }; _allSearchLog.SearchAll(ELuceneWantAll.Log); _allSearchException = new LuceneSearcherConfiguration { MaxResult = int.MaxValue }; _allSearchException.SearchAll(ELuceneWantAll.Exception); }
/// <summary> /// Search into Lucene index. /// If the <see cref="LuceneSearcherConfiguration"/> is not correct return null. /// </summary> /// <param name="searchConfiguration"></param> /// <returns></returns> public List <ILogViewModel> Search(LuceneSearcherConfiguration searchConfiguration) { if (!CheckSearchConfiguration(searchConfiguration)) { return(null); } if (searchConfiguration.ESearchMethod == ESearchMethod.FullText) { return(Search(searchConfiguration, new MultiFieldQueryParser ( LuceneVersion.LUCENE_48, searchConfiguration.Fields, new StandardAnalyzer(LuceneVersion.LUCENE_48) ).Parse(searchConfiguration.Query))); } return(searchConfiguration.WantAll ? Search(searchConfiguration, GetAll(searchConfiguration.All)) : CreateLogsResult(_indexSearcher?.Search(CreateQuery(searchConfiguration), searchConfiguration.MaxResult, _sort))); }