Package org.apache.lucene.monitor
Class Monitor
java.lang.Object
org.apache.lucene.monitor.Monitor
- All Implemented Interfaces:
Closeable,AutoCloseable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordStatistics for the query cache and query index -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreate a non-persistent Monitor instance with the default term-filtering PresearcherMonitor(Analyzer analyzer, MonitorConfiguration config) Create a new Monitor instance with a specific configurationMonitor(Analyzer analyzer, Presearcher presearcher) Create a new non-persistent Monitor instanceMonitor(Analyzer analyzer, Presearcher presearcher, MonitorConfiguration configuration) Create a new Monitor instance -
Method Summary
Modifier and TypeMethodDescriptionvoidRegister aMonitorUpdateListenerthat will be notified whenever changes are made to the Monitor's queryindexvoidclear()Delete all queries from the monitorvoidclose()<T extends QueryMatch>
PresearcherMatches<T> debug(Document[] docs, MatcherFactory<T> factory) Match a DocumentBatch against the queries stored in the Monitor, also returning information about which queries were selected by the presearcher, and why.<T extends QueryMatch>
PresearcherMatches<T> debug(Document doc, MatcherFactory<T> factory) Match a singleDocumentagainst the queries stored in the Monitor, also returning information about which queries were selected by the presearcher, and why.voiddeleteById(String... queryIds) Delete queries from the monitor by IDvoiddeleteById(List<String> queryIds) Delete queries from the monitor by IDintGet the MonitorQuery for a given query idint<T extends QueryMatch>
MultiMatchingQueries<T> match(Document[] docs, MatcherFactory<T> factory) Match an array ofDocuments against the queryindex, calling aCandidateMatcherproduced by the suppliedMatcherFactoryfor each possible matching query.<T extends QueryMatch>
MatchingQueries<T> match(Document doc, MatcherFactory<T> factory) Match a singleDocumentagainst the queryindex, calling aCandidateMatcherproduced by the suppliedMatcherFactoryfor each possible matching query.voidRemove unused queries from the query cache.voidregister(Iterable<MonitorQuery> queries) Add new queries to the monitorvoidregister(MonitorQuery... queries) Add new queries to the monitor
-
Field Details
-
presearcher
-
-
Constructor Details
-
Monitor
Create a non-persistent Monitor instance with the default term-filtering Presearcher- Parameters:
analyzer- to analyzeDocuments at match time- Throws:
IOException
-
Monitor
Create a new non-persistent Monitor instance- Parameters:
analyzer- to analyzeDocuments at match timepresearcher- the presearcher to use- Throws:
IOException
-
Monitor
Create a new Monitor instance with a specific configuration- Parameters:
analyzer- to analyzeDocuments at match timeconfig- the configuration- Throws:
IOException
-
Monitor
public Monitor(Analyzer analyzer, Presearcher presearcher, MonitorConfiguration configuration) throws IOException Create a new Monitor instance- Parameters:
analyzer- to analyzeDocuments at match timepresearcher- the presearcher to useconfiguration- the configuration- Throws:
IOException
-
-
Method Details
-
addQueryIndexUpdateListener
Register aMonitorUpdateListenerthat will be notified whenever changes are made to the Monitor's queryindex- Parameters:
listener- listener to register
-
getQueryCacheStats
- Returns:
- Statistics for the internal query index and cache
- Throws:
IOException
-
purgeCache
Remove unused queries from the query cache.This is normally called from a background thread at a rate set by configurePurgeFrequency().
When Monitor is in read-only mode, cache is NEVER purged automatically you MUST call it when you want new changes.
- Throws:
IOException- on IO errors
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
register
Add new queries to the monitor- Parameters:
queries- the MonitorQueries to add- Throws:
IOException
-
register
Add new queries to the monitor- Parameters:
queries- the MonitorQueries to add- Throws:
IOException- on IO errors
-
deleteById
Delete queries from the monitor by ID- Parameters:
queryIds- the IDs to delete- Throws:
IOException- on IO errors
-
deleteById
Delete queries from the monitor by ID- Parameters:
queryIds- the IDs to delete- Throws:
IOException- on IO errors
-
clear
Delete all queries from the monitor- Throws:
IOException- on IO errors
-
match
public <T extends QueryMatch> MultiMatchingQueries<T> match(Document[] docs, MatcherFactory<T> factory) throws IOException Match an array ofDocuments against the queryindex, calling aCandidateMatcherproduced by the suppliedMatcherFactoryfor each possible matching query.- Type Parameters:
T- the type ofQueryMatchto return- Parameters:
docs- the DocumentBatch to matchfactory- aMatcherFactoryto use to create aCandidateMatcherfor the match run- Returns:
- a
MatchingQueriesobject summarizing the match run. - Throws:
IOException- on IO errors
-
match
public <T extends QueryMatch> MatchingQueries<T> match(Document doc, MatcherFactory<T> factory) throws IOException Match a singleDocumentagainst the queryindex, calling aCandidateMatcherproduced by the suppliedMatcherFactoryfor each possible matching query.- Type Parameters:
T- the type ofQueryMatchto return- Parameters:
doc- the InputDocument to matchfactory- aMatcherFactoryto use to create aCandidateMatcherfor the match run- Returns:
- a
MatchingQueriesobject summarizing the match run. - Throws:
IOException- on IO errors
-
getQuery
Get the MonitorQuery for a given query id- Parameters:
queryId- the id of the query to get- Returns:
- the MonitorQuery stored for this id, or null if not found
- Throws:
IOException- on IO errorsIllegalStateException- if queries are not stored in the queryindex
-
getDisjunctCount
- Returns:
- the number of queries (after decomposition) stored in this Monitor
- Throws:
IOException
-
getQueryCount
- Returns:
- the number of queries stored in this Monitor
- Throws:
IOException- on IO errors
-
getQueryIds
- Returns:
- the set of query ids of the queries stored in this Monitor
- Throws:
IOException- on IO errors
-
debug
public <T extends QueryMatch> PresearcherMatches<T> debug(Document[] docs, MatcherFactory<T> factory) throws IOException Match a DocumentBatch against the queries stored in the Monitor, also returning information about which queries were selected by the presearcher, and why.- Type Parameters:
T- the type of QueryMatch produced by the CandidateMatcher- Parameters:
docs- a DocumentBatch to match against the indexfactory- aMatcherFactoryto use to create aCandidateMatcherfor the match run- Returns:
- a
PresearcherMatchesobject containing debug information - Throws:
IOException- on IO errors
-
debug
public <T extends QueryMatch> PresearcherMatches<T> debug(Document doc, MatcherFactory<T> factory) throws IOException Match a singleDocumentagainst the queries stored in the Monitor, also returning information about which queries were selected by the presearcher, and why.- Type Parameters:
T- the type of QueryMatch produced by the CandidateMatcher- Parameters:
doc- an InputDocument to match against the indexfactory- aMatcherFactoryto use to create aCandidateMatcherfor the match run- Returns:
- a
PresearcherMatchesobject containing debug information - Throws:
IOException- on IO errors
-