|
Regain 1.7.7-STABLE API | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.regain.search.IndexSearcherManager
public class IndexSearcherManager
Kapselt die Suche auf dem Suchindex.
Alle Suchanfragen werden synchronisiert. Au�erdem wird im 10-Sekunden-Takt gePrüft, ob ein neuer Index verfügbar ist. Wenn ja, dann wird der neue Index übernommen und der alte in einem Backup gesichert.
| Field Summary | |
|---|---|
private static String |
BACKUP_INDEX_SUBDIR
Der Name des Index-Unterverzeichnisses, in das der letzte Index gesichert werden soll. |
private static int |
INDEX_UPDATE_THREAD_SLEEPTIME
Die Zeit in Millisekunden in der der Update-Thread zwischen zwei Update-Pr�fungen schlafen soll. |
private org.apache.lucene.analysis.Analyzer |
mAnalyzer
Der Analyzer, der für Suchen verwendet werden soll. |
private File |
mBackupIndexDir
Das Verzeichnis, in das der letzte Index gesichert werden soll. |
private HashMap |
mFieldTermHash
Holds for a field name (String) all distinct values the index has for that field (String[]). |
private static HashMap |
mIndexManagerHash
enthält für ein Index-Verzeichnis (key) den zust�ndigen IndexWriterManager (value). |
private org.apache.lucene.index.IndexReader |
mIndexReader
The IndexReader to use for reading information from an index. |
private org.apache.lucene.search.IndexSearcher |
mIndexSearcher
Der IndexSearcher auf dem die Suchen erfolgen. |
private Thread |
mIndexUpdateThread
Der Thread, der alle 10 Sekunden Prüft, ob ein neuer Suchindex vorhanden ist. |
private File |
mNewIndexDir
Das Verzeichnis, in das der neue Index gestellt wird, sobald er fertig ist. |
private File |
mWorkingIndexDir
Das Verzeichnis, in dem der genutzte Index steht. |
private static String |
NEW_INDEX_SUBDIR
Der Name des Index-Unterverzeichnisses, in das der neue Index gestellt wird, sobald er fertig ist. |
private static String |
WORKING_INDEX_SUBDIR
Der Name des Index-Unterverzeichnisses, in dem der genutzte Index steht. |
| Constructor Summary | |
|---|---|
private |
IndexSearcherManager(String indexDir)
Erzeugt eine neue IndexWriterManager-Instanz. |
| Method Summary | |
|---|---|
private void |
checkForIndexUpdate()
Prüft, ob ein neuer Index vorhanden ist. |
org.apache.lucene.analysis.Analyzer |
getAnalyzer()
Gibt den Analyzer zurück, der für die Suche genutzt werden soll. |
int |
getDocumentCount()
Gets the total number of documents in the index. |
String[] |
getFieldValues(String field)
Gets all distinct values a index has for a certain field. |
org.apache.lucene.index.IndexReader |
getIndexReader()
Gets an IndexReader for the index. |
org.apache.lucene.search.IndexSearcher |
getIndexSearcher()
Returns the IndexSearcher. |
static IndexSearcherManager |
getInstance(String indexDir)
Gibt den IndexSearcherManager für das gegebene Index-Verzeichnis zurück. |
(package private) void |
indexUpdateThreadRun()
Die run()-Methode des Index-Update-Thread. |
org.apache.lucene.search.Query |
rewrite(org.apache.lucene.search.Query query)
Rewrites the query for better highlighting of wildcard and fuzzy searches- Contribution: Anders Larsson, 2009 |
org.apache.lucene.search.ScoreDoc[] |
search(org.apache.lucene.search.Query query)
Sucht im Suchindex. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final int INDEX_UPDATE_THREAD_SLEEPTIME
private static final String NEW_INDEX_SUBDIR
Wenn dieses Verzeichnis existiert, dann wird die Suche auf den darin enthaltenen Index umgestellt.
private static final String WORKING_INDEX_SUBDIR
private static final String BACKUP_INDEX_SUBDIR
private static HashMap mIndexManagerHash
private File mNewIndexDir
Wenn dieses Verzeichnis existiert, dann wird die Suche auf den darin enthaltenen Index umgestellt.
private File mWorkingIndexDir
private File mBackupIndexDir
private org.apache.lucene.search.IndexSearcher mIndexSearcher
Die Klasse IndexSearcher ist zwar thread-sicher, aber wir synchronisieren trotzdem alle Suchanfragen selbst, damit ein Austausch des Suchindex im laufenden Betrieb m�glich ist.
private org.apache.lucene.index.IndexReader mIndexReader
private org.apache.lucene.analysis.Analyzer mAnalyzer
private Thread mIndexUpdateThread
private HashMap mFieldTermHash
| Constructor Detail |
|---|
private IndexSearcherManager(String indexDir)
indexDir - Das Verzeichnis, in dem der Index steht.| Method Detail |
|---|
public static IndexSearcherManager getInstance(String indexDir)
indexDir - Das Verzeichnis, in dem der Index steht.
public org.apache.lucene.search.ScoreDoc[] search(org.apache.lucene.search.Query query)
throws RegainException
Hinweis: Suchen und Update-Checks laufen synchronisiert ab (also niemals gleichzeitig).
query - Die Suchanfrage.
RegainException - Wenn die Suche fehl schlug.
public org.apache.lucene.index.IndexReader getIndexReader()
throws RegainException
NOTE: Must be called in a synchronized block.
RegainException - If creating the IndexReader failed.
public String[] getFieldValues(String field)
throws RegainException
field - The field to get the values for.
RegainException - If reading the values failed.
public int getDocumentCount()
throws RegainException
RegainException - If getting the document count failed.
public org.apache.lucene.analysis.Analyzer getAnalyzer()
throws RegainException
RegainException - Wenn die Erzeugung des Analyzers fehl schlug.void indexUpdateThreadRun()
mIndexUpdateThread
private void checkForIndexUpdate()
throws RegainException
Hinweis: Suchen und Update-Checks laufen synchronisiert ab (also niemals gleichzeitig).
RegainException - Falls die Umstellung auf den neuen Index fehl schlug.
public org.apache.lucene.search.Query rewrite(org.apache.lucene.search.Query query)
throws RegainException
query - to be rewritten
RegainException
public org.apache.lucene.search.IndexSearcher getIndexSearcher()
throws RegainException
RegainException
|
Regain 1.7.7-STABLE API | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||