Package org.apache.lucene.monitor
Class Monitor
- java.lang.Object
-
- org.apache.lucene.monitor.Monitor
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class Monitor extends Object implements Closeable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMonitor.QueryCacheStatsStatistics for the query cache and query index
-
Field Summary
Fields Modifier and Type Field Description protected Presearcherpresearcher
-
Constructor Summary
Constructors Constructor Description Monitor(Analyzer analyzer)Create 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddQueryIndexUpdateListener(MonitorUpdateListener listener)Register 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 IDintgetDisjunctCount()MonitorQuerygetQuery(String queryId)Get the MonitorQuery for a given query idMonitor.QueryCacheStatsgetQueryCacheStats()intgetQueryCount()Set<String>getQueryIds()<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.voidpurgeCache()Remove 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 Detail
-
presearcher
protected final Presearcher presearcher
-
-
Constructor Detail
-
Monitor
public Monitor(Analyzer analyzer) throws IOException
Create a non-persistent Monitor instance with the default term-filtering Presearcher- Parameters:
analyzer- to analyzeDocuments at match time- Throws:
IOException
-
Monitor
public Monitor(Analyzer analyzer, Presearcher presearcher) throws IOException
Create a new non-persistent Monitor instance- Parameters:
analyzer- to analyzeDocuments at match timepresearcher- the presearcher to use- Throws:
IOException
-
Monitor
public Monitor(Analyzer analyzer, MonitorConfiguration config) throws IOException
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 Detail
-
addQueryIndexUpdateListener
public void addQueryIndexUpdateListener(MonitorUpdateListener listener)
Register aMonitorUpdateListenerthat will be notified whenever changes are made to the Monitor's queryindex- Parameters:
listener- listener to register
-
getQueryCacheStats
public Monitor.QueryCacheStats getQueryCacheStats() throws IOException
- Returns:
- Statistics for the internal query index and cache
- Throws:
IOException
-
purgeCache
public void purgeCache() throws IOExceptionRemove 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
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
register
public void register(Iterable<MonitorQuery> queries) throws IOException
Add new queries to the monitor- Parameters:
queries- the MonitorQueries to add- Throws:
IOException
-
register
public void register(MonitorQuery... queries) throws IOException
Add new queries to the monitor- Parameters:
queries- the MonitorQueries to add- Throws:
IOException- on IO errors
-
deleteById
public void deleteById(List<String> queryIds) throws IOException
Delete queries from the monitor by ID- Parameters:
queryIds- the IDs to delete- Throws:
IOException- on IO errors
-
deleteById
public void deleteById(String... queryIds) throws IOException
Delete queries from the monitor by ID- Parameters:
queryIds- the IDs to delete- Throws:
IOException- on IO errors
-
clear
public void clear() throws IOExceptionDelete 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
public MonitorQuery getQuery(String queryId) throws IOException
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
public int getDisjunctCount() throws IOException- Returns:
- the number of queries (after decomposition) stored in this Monitor
- Throws:
IOException
-
getQueryCount
public int getQueryCount() throws IOException- Returns:
- the number of queries stored in this Monitor
- Throws:
IOException- on IO errors
-
getQueryIds
public Set<String> getQueryIds() throws IOException
- 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
-
-