A search participant describes a particular extension to a generic search mechanism, permitting combined search actions which will involve all required participants.
A search participant is involved in the indexing phase and in the search phase. The indexing phase consists in taking one or more search documents, parse them, and add index entries in an index chosen by the participant. An index is identified by a path on disk. The search phase consists in selecting the indexes corresponding to a search pattern and a search scope, from these indexes the search infrastructure extracts the document paths that match the search pattern asking the search participant for the corresponding document, finally the search participant is asked to locate the matches precisely in these search documents.
This class is intended to be subclassed by clients. During the indexing phase, a subclass will be called with the following requests in order:
- {@link #scheduleDocumentIndexing(SearchDocument,IPath)}
- {@link #indexDocument(SearchDocument,IPath)}
During the search phase, a subclass will be called with the following requests in order:
- {@link #selectIndexes(SearchPattern,IJavaSearchScope)}
- one or more {@link #getDocument(String)}
- {@link #locateMatches(SearchDocument[],SearchPattern,IJavaSearchScope,SearchRequestor,IProgressMonitor)}
@since 3.0