/// <summary> /// Performs a search in the index. /// </summary> /// <param name="parameters">The search parameters.</param> /// <returns>The results.</returns> public SearchResultCollection Search(SearchParameters parameters) { if(parameters == null) throw new ArgumentNullException("parameters"); using(IWordFetcher fetcher = connector.GetWordFetcher()) { if(parameters.DocumentTypeTags == null) { return ScrewTurn.Wiki.SearchEngine.Tools.SearchInternal(parameters.Query, null, false, parameters.Options, fetcher); } else { return ScrewTurn.Wiki.SearchEngine.Tools.SearchInternal(parameters.Query, parameters.DocumentTypeTags, true, parameters.Options, fetcher); } } }
/// <summary> /// Performs a search in the index. /// </summary> /// <param name="parameters">The search parameters.</param> /// <returns>The results.</returns> /// <exception cref="ArgumentNullException">If <paramref name="parameters"/> is <c>null</c>.</exception> public SearchResultCollection PerformSearch(SearchParameters parameters) { if(parameters == null) throw new ArgumentNullException("parameters"); lock(this) { return index.Search(parameters); } }
/// <summary> /// Performs a search in the index. /// </summary> /// <param name="parameters">The search parameters.</param> /// <returns>The results.</returns> /// <exception cref="ArgumentNullException">If <paramref name="parameters"/> is <c>null</c>.</exception> public SearchResultCollection Search(SearchParameters parameters) { if(parameters == null) throw new ArgumentNullException("parameters"); using(IWordFetcher fetcher = new InMemoryIndexWordFetcher(catalog)) { if(parameters.DocumentTypeTags == null) { return Tools.SearchInternal(parameters.Query, null, false, parameters.Options, fetcher); } else { return Tools.SearchInternal(parameters.Query, parameters.DocumentTypeTags, true, parameters.Options, fetcher); } } }