Package org.apache.maven.index
Class DefaultSearchEngine
- java.lang.Object
-
- org.apache.maven.index.DefaultSearchEngine
-
- All Implemented Interfaces:
SearchEngine
@Singleton @Named public class DefaultSearchEngine extends java.lang.Object implements SearchEngine
A default search engine implementation
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.Logger
logger
-
Constructor Summary
Constructors Constructor Description DefaultSearchEngine()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected org.apache.lucene.search.TopScoreDocCollector
doSearchWithCeiling(AbstractSearchRequest request, org.apache.lucene.search.IndexSearcher indexSearcher, org.apache.lucene.search.Query query)
FlatSearchResponse
forceSearchFlatPaged(FlatSearchRequest request, java.util.Collection<IndexingContext> indexingContexts)
Do the search in all contexts, no matter if the context is searchable or notGroupedSearchResponse
forceSearchGrouped(GroupedSearchRequest request, java.util.Collection<IndexingContext> indexingContexts)
Do the search in all contexts, no matter if the context is searchable or notIteratorSearchResponse
forceSearchIteratorPaged(IteratorSearchRequest request, java.util.Collection<IndexingContext> indexingContexts)
Do the search in all contexts, no matter if the context is searchable or notprotected org.slf4j.Logger
getLogger()
protected NexusIndexMultiReader
getMergedIndexReader(java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext)
Locks down participating contexts, and returns a "merged" reader of them.protected java.util.List<IndexingContext>
getParticipatingContexts(java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext)
Returns the list of participating contexts.protected int
getTopDocsCollectorHitNum(AbstractSearchRequest request, int ceiling)
java.util.Set<ArtifactInfo>
searchFlat(java.util.Comparator<ArtifactInfo> artifactInfoComparator, java.util.Collection<IndexingContext> indexingContexts, org.apache.lucene.search.Query query)
Deprecated.java.util.Set<ArtifactInfo>
searchFlat(java.util.Comparator<ArtifactInfo> artifactInfoComparator, IndexingContext indexingContext, org.apache.lucene.search.Query query)
Deprecated.protected int
searchFlat(FlatSearchRequest req, java.util.Collection<ArtifactInfo> result, java.util.List<IndexingContext> participatingContexts, org.apache.lucene.search.Query query)
FlatSearchResponse
searchFlatPaged(FlatSearchRequest request, java.util.Collection<IndexingContext> indexingContexts)
Do the search only on searchable contextsprotected FlatSearchResponse
searchFlatPaged(FlatSearchRequest request, java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext)
GroupedSearchResponse
searchGrouped(GroupedSearchRequest request, java.util.Collection<IndexingContext> indexingContexts)
Do the search only on searchable contextsprotected GroupedSearchResponse
searchGrouped(GroupedSearchRequest request, java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext)
protected int
searchGrouped(GroupedSearchRequest req, java.util.Map<java.lang.String,ArtifactInfoGroup> result, Grouping grouping, java.util.List<IndexingContext> participatingContexts, org.apache.lucene.search.Query query)
IteratorSearchResponse
searchIteratorPaged(IteratorSearchRequest request, java.util.Collection<IndexingContext> indexingContexts)
Do the search only on searchable contextsprivate IteratorSearchResponse
searchIteratorPaged(IteratorSearchRequest request, java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext)
-
-
-
Method Detail
-
getLogger
protected org.slf4j.Logger getLogger()
-
searchFlat
@Deprecated public java.util.Set<ArtifactInfo> searchFlat(java.util.Comparator<ArtifactInfo> artifactInfoComparator, IndexingContext indexingContext, org.apache.lucene.search.Query query) throws java.io.IOException
Deprecated.- Specified by:
searchFlat
in interfaceSearchEngine
- Throws:
java.io.IOException
-
searchFlat
@Deprecated public java.util.Set<ArtifactInfo> searchFlat(java.util.Comparator<ArtifactInfo> artifactInfoComparator, java.util.Collection<IndexingContext> indexingContexts, org.apache.lucene.search.Query query) throws java.io.IOException
Deprecated.- Specified by:
searchFlat
in interfaceSearchEngine
- Throws:
java.io.IOException
-
searchFlatPaged
public FlatSearchResponse searchFlatPaged(FlatSearchRequest request, java.util.Collection<IndexingContext> indexingContexts) throws java.io.IOException
Description copied from interface:SearchEngine
Do the search only on searchable contexts- Specified by:
searchFlatPaged
in interfaceSearchEngine
- Throws:
java.io.IOException
-
forceSearchFlatPaged
public FlatSearchResponse forceSearchFlatPaged(FlatSearchRequest request, java.util.Collection<IndexingContext> indexingContexts) throws java.io.IOException
Description copied from interface:SearchEngine
Do the search in all contexts, no matter if the context is searchable or not- Specified by:
forceSearchFlatPaged
in interfaceSearchEngine
- Throws:
java.io.IOException
-
searchFlatPaged
protected FlatSearchResponse searchFlatPaged(FlatSearchRequest request, java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext) throws java.io.IOException
- Throws:
java.io.IOException
-
searchGrouped
public GroupedSearchResponse searchGrouped(GroupedSearchRequest request, java.util.Collection<IndexingContext> indexingContexts) throws java.io.IOException
Description copied from interface:SearchEngine
Do the search only on searchable contexts- Specified by:
searchGrouped
in interfaceSearchEngine
- Throws:
java.io.IOException
-
forceSearchGrouped
public GroupedSearchResponse forceSearchGrouped(GroupedSearchRequest request, java.util.Collection<IndexingContext> indexingContexts) throws java.io.IOException
Description copied from interface:SearchEngine
Do the search in all contexts, no matter if the context is searchable or not- Specified by:
forceSearchGrouped
in interfaceSearchEngine
- Throws:
java.io.IOException
-
searchGrouped
protected GroupedSearchResponse searchGrouped(GroupedSearchRequest request, java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext) throws java.io.IOException
- Throws:
java.io.IOException
-
searchFlat
protected int searchFlat(FlatSearchRequest req, java.util.Collection<ArtifactInfo> result, java.util.List<IndexingContext> participatingContexts, org.apache.lucene.search.Query query) throws java.io.IOException
- Throws:
java.io.IOException
-
searchGrouped
protected int searchGrouped(GroupedSearchRequest req, java.util.Map<java.lang.String,ArtifactInfoGroup> result, Grouping grouping, java.util.List<IndexingContext> participatingContexts, org.apache.lucene.search.Query query) throws java.io.IOException
- Throws:
java.io.IOException
-
searchIteratorPaged
public IteratorSearchResponse searchIteratorPaged(IteratorSearchRequest request, java.util.Collection<IndexingContext> indexingContexts) throws java.io.IOException
Description copied from interface:SearchEngine
Do the search only on searchable contexts- Specified by:
searchIteratorPaged
in interfaceSearchEngine
- Throws:
java.io.IOException
-
forceSearchIteratorPaged
public IteratorSearchResponse forceSearchIteratorPaged(IteratorSearchRequest request, java.util.Collection<IndexingContext> indexingContexts) throws java.io.IOException
Description copied from interface:SearchEngine
Do the search in all contexts, no matter if the context is searchable or not- Specified by:
forceSearchIteratorPaged
in interfaceSearchEngine
- Throws:
java.io.IOException
-
searchIteratorPaged
private IteratorSearchResponse searchIteratorPaged(IteratorSearchRequest request, java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext) throws java.io.IOException
- Throws:
java.io.IOException
-
doSearchWithCeiling
protected org.apache.lucene.search.TopScoreDocCollector doSearchWithCeiling(AbstractSearchRequest request, org.apache.lucene.search.IndexSearcher indexSearcher, org.apache.lucene.search.Query query) throws java.io.IOException
- Throws:
java.io.IOException
-
getParticipatingContexts
protected java.util.List<IndexingContext> getParticipatingContexts(java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext)
Returns the list of participating contexts. Does not locks them, just builds a list of them.
-
getMergedIndexReader
protected NexusIndexMultiReader getMergedIndexReader(java.util.Collection<IndexingContext> indexingContexts, boolean ignoreContext) throws java.io.IOException
Locks down participating contexts, and returns a "merged" reader of them. In case of error, unlocks as part of cleanup and re-throws exception. Without error, it is the duty of caller to unlock contexts!- Parameters:
indexingContexts
-ignoreContext
-- Returns:
- Throws:
java.io.IOException
-
getTopDocsCollectorHitNum
protected int getTopDocsCollectorHitNum(AbstractSearchRequest request, int ceiling)
-
-