Classe IndexWriterConfig
Contiene tutta la configurazione utilizzata per creare un file Indice scrittore. Una volta Indice scrittore è stato creato con questo oggetto, le modifiche a questo oggetto non influiranno sul Indice scrittore esempio. Per questo, usa LiveIndexWriterConfig che viene restituito da Config.
LUCENENET NOTA: a differenza di Lucene, utilizziamo i setter di proprietà invece dei metodi setter. In C#, questo consente di inizializzare il file IndexWriterConfig utilizzando le funzionalità del linguaggio di C#, ad esempio:
IndexWriterConfig conf = new IndexWriterConfig(analyzer)
{
Codec = Lucene46Codec(),
OpenMode = OpenMode.CREATE
};
Tuttavia, se si preferisce abbinare la sintassi di Lucene utilizzando metodi setter concatenati, sono disponibili metodi di estensione nello spazio dei nomi Lucene.Net.Support. Esempio di utilizzo:
using Lucene.Net.Support;
..
IndexWriterConfig conf = new IndexWriterConfig(analyzer)
.SetCodec(new Lucene46Codec())
.SetOpenMode(OpenMode.CREATE);
@dal 3.1
Membri ereditati
montaggio: DistributedLuce.Net.dll
Sintassi
public sealed class IndexWriterConfig : LiveIndexWriterConfig
Costruttori
Nome | Descrizione |
---|---|
IndexWriterConfig(Versione Lucene, Analizzatore) | Crea una nuova configurazione con valori predefiniti che corrispondono a quelli specificati
Versione Lucene così come l'impostazione predefinita
Analyzer. Se |
campi
Nome | Descrizione |
---|---|
DEFAULT_CHECK_INTEGRITY_AT_MERGE | Valore predefinito per la chiamata Verifica integrità() prima di unire i segmenti (impostare su |
DEFAULT_MAX_BUFFERED_DELETE_TERMS | Disabilitato per impostazione predefinita (perché IndexWriter viene scaricato in base all'utilizzo della RAM per impostazione predefinita). |
DEFAULT_MAX_BUFFERED_DOCS | Disabilitato per impostazione predefinita (perché IndexWriter viene scaricato in base all'utilizzo della RAM per impostazione predefinita). |
DEFAULT_MAX_THREAD_STATES | Il numero massimo di thread simultanei che possono indicizzare i documenti contemporaneamente Indice scrittore; se arrivano più di così tanti thread aspetteranno che altri finiscano. Il valore predefinito è 8. |
DEFAULT_RAM_BUFFER_SIZE_MB | Il valore predefinito è 16 MB (che significa svuotare quando i documenti memorizzati nel buffer consumano circa 16 MB di RAM). |
DEFAULT_RAM_PER_THREAD_HARD_LIMIT_MB | Il valore predefinito è 1945. Modificare con RAMPerThreadHardLimit MB setter. |
DEFAULT_READER_POOLING | Impostazione predefinita per Usa Reader Pooling. |
DEFAULT_READER_TERMS_INDEX_DIVISOR | Il valore predefinito è 1. Modificare con ReaderTermsIndexDivisor setter. |
DEFAULT_TERM_INDEX_INTERVAL | Il valore predefinito è 32. Modificare con TermineIndiceIntervallo setter. |
DEFAULT_USE_COMPOUND_FILE_SYSTEM | Valore predefinito per il file system composto per i segmenti appena scritti (impostato su |
DISABLE_AUTO_FLUSH | Indica che un trigger di svuotamento è disabilitato. |
WRITE_LOCK_TIMEOUT | Valore predefinito per il timeout del blocco in scrittura (1,000 ms). |
Properties
Nome | Descrizione |
---|---|
Codec | Ottiene o imposta il Codec. Ha effetto solo quando Indice scrittore viene prima creato. |
PredefinitoWriteLockTimeout | Ottiene o imposta il tempo massimo predefinito (per qualsiasi istanza) di attesa per un blocco di scrittura (in millisecondi). |
IndiceCommit | Esperto: permette di aprire un determinato punto di commit. L'impostazione predefinita è Ha effetto solo quando Indice scrittore viene prima creato. |
IndiceDeletionPolicy | Esperto: consente un optional IndiceDeletionPolicy attuazione da precisare. Puoi usarlo per controllare quando i commit precedenti vengono eliminati dall'indice. La politica predefinita è KeepOnlyLastCommitDeletionPolicy che rimuove tutti i commit precedenti non appena viene eseguito un nuovo commit (questo corrisponde al comportamento prima della 2.2). La creazione di una propria policy può consentire di mantenere in modo esplicito i precedenti commit "point in time" attivi nell'indice per un po' di tempo, per consentire ai lettori di aggiornarsi al nuovo commit senza che il vecchio commit venga eliminato da sotto di essi. Ciò è necessario su filesystem come NFS che non supportano la semantica "elimina all'ultima chiusura", su cui normalmente si basa la ricerca "point in time" di Lucene.
NOTA: la politica di cancellazione non può essere Ha effetto solo alla prima creazione di IndexWriter. |
MaxThreadStates | Ottiene o imposta il numero massimo di thread simultanei che potrebbero indicizzare i documenti contemporaneamente Indice scrittore. I valori < 1 non sono validi e se passati
Ha effetto solo quando Indice scrittore viene prima creato. |
MergePolicy | esperto: MergePolicy viene richiamato ogni volta che vengono apportate modifiche ai segmenti nell'indice. Il suo ruolo è selezionare quali unioni eseguire, se presenti, e restituire a MergePolicy.MergeSpecification descrivere le fusioni. Seleziona anche le unioni da fare Forza unione(Int32). Ha effetto solo quando Indice scrittore viene prima creato. |
Unisci pianificazione | Esperto: ottiene o imposta lo scheduler di unione utilizzato da questo scrittore. L'impostazione predefinita è ConcurrentMergeScheduler.
NOTA: lo scheduler di unione non può essere Ha effetto solo quando Indice scrittore viene prima creato. |
Modalità aperta | Specifica Modalità aperta dell'indice. Ha effetto solo quando Indice scrittore viene prima creato. |
RAMPerThreadHardLimit MB | Esperto: ottiene o imposta il consumo massimo di memoria per thread attivando uno svuotamento forzato se superato. UN Lucene.Net.Index.DocumentsWriterPerThread viene lavato con forza una volta superato questo limite anche se il Dimensioni buffer RAM MB non è stato superato. Questo è un limite di sicurezza per prevenire a Lucene.Net.Index.DocumentsWriterPerThread dall'esaurimento dello spazio degli indirizzi a causa dell'indirizzamento della memoria interna basato su numeri interi con segno a 32 bit. Il valore indicato deve essere inferiore a 2 GB (2048 MB). |
somiglianza | Esperto: imposta il somiglianza implementazione utilizzata da questo Indice scrittore.
NOTA: la somiglianza non può essere Ha effetto solo quando Indice scrittore viene prima creato. |
Usa Reader Pooling | Per impostazione predefinita, Indice scrittore non raggruppa il
Lettore di segmentis deve essere aperto per eliminazioni e unioni, a meno che non sia stato ottenuto un lettore quasi in tempo reale chiamando Apri(IndexWriter, Booleano). questa impostazione ti consente di abilitare il pool senza ottenere un lettore quasi in tempo reale. NOTA: se lo si imposta su
Ha effetto solo quando Indice scrittore viene prima creato. |
WriteLockTimeout | Ottiene o imposta il tempo massimo di attesa per un blocco di scrittura (in millisecondi) per questa istanza. Puoi modificare il valore predefinito per tutte le istanze chiamando il PredefinitoWriteLockTimeout setter. Ha effetto solo quando Indice scrittore viene prima creato. |
Metodi
Nome | Descrizione |
---|---|
Clone() | |
SetInfoStream(InfoStream) | Le informazioni su unioni, eliminazioni e un messaggio quando viene raggiunto maxFieldLength verranno stampate su questo. Non deve essere |
SetInfoStream(TextWriter) | Metodo di convenienza che utilizza TextWriterInfoStream per scrivere al passato |
Accordare() |