Lector de índice de clase
Lector de índices es una clase abstracta que proporciona una interfaz para acceder a un índice. La búsqueda de un índice se realiza completamente a través de esta interfaz abstracta, por lo que se puede buscar en cualquier subclase que lo implemente.
Hay dos tipos diferentes de Lector de índicess:
- Lector atómico: Estos índices no se componen de varios sublectores, son atómicos. Admiten la recuperación de campos almacenados, valores de documentos, términos y publicaciones.
- Lector compuesto: Instancias (como Lector de directorios) de este lector solo se puede usar para obtener campos almacenados del subyacente Lector atómicos, pero no es posible recuperar directamente las publicaciones. Para hacer eso, obtenga los sub-lectores a través de Obtener sublectores secuenciales (). Alternativamente, puede imitar un Lector atómico (con una ralentización importante), envolviendo lectores compuestos con LentoCompositeReaderWrapper.
Lector de índices las instancias para índices en disco generalmente se construyen con una llamada a uno de los estáticos DirectoryReader.Open()
métodos, por ejemplo Directorio abierto). Lector de directorios hereda el Lector compuesto clase abstracta, no es posible obtener publicaciones directamente.
Para mayor eficiencia, en esta API, los documentos a menudo se mencionan a través de numeros de documentos, enteros no negativos, cada uno de los cuales nombra un documento único en el índice. Estos números de documentos son efímeros; pueden cambiar a medida que se agregan y eliminan documentos de un índice. Por lo tanto, los clientes no deben confiar en que un documento determinado tenga el mismo número entre sesiones.
NOTA: Lector de índices las instancias son completamente seguras para subprocesos, lo que significa que varios subprocesos pueden llamar a cualquiera de sus métodos al mismo tiempo. Si su aplicación requiere sincronización externa, debe no sincronizar en el Lector de índices instancia; use sus propios objetos (que no sean de Lucene) en su lugar.
Herencia
Asamblea: DistribuidoLucene.Net.dll
Sintaxis
public abstract class IndexReader : IDisposable, IIdentifiableSurrogate
Constructores
Nombre | Descripción |
---|---|
Lector de índice() | |
IndexReader(Cadena, Transporte IRPC, Tipo) |
Terrenos
Nombre | Descripción |
---|---|
_basesurrogateObjeto | |
Particiones |
Propiedades
Nombre | Descripción |
---|---|
Permitir resultados parciales | Establézcalo en falso para devolver un error general si la solicitud produce resultados parciales. Establézcalo en verdadero, lo que permitirá resultados parciales en el caso de un clúster parcial. |
Clave CoreAndDeletes combinada | Experto: Devuelve una clave para esto Lector de índices que también incluye eliminaciones, por lo que IFieldCache/Filtro CachingWrapper puede encontrarlo de nuevo. Esta clave no debe tener métodos Equals()/GetHashCode(), por lo que "equals" significa "idéntico". |
Contexto | Experto: Devuelve la raíz IndexReaderContextIndexReaderContext para esto Lector de índicesEl árbol de sublectores de . Si este lector está compuesto de sublectores, es decir, si este lector es un lector compuesto, este método devuelve un CompositeReaderContextCompositeReaderContext sosteniendo los hijos directos del lector, así como una vista de los contextos de hojas atómicas del árbol del lector. Todos los sub- IndexReaderContextIndexReaderContext las instancias a las que se hace referencia desde el contexto de nivel superior de este lector son privadas para este lector y no se comparten con otro árbol de contexto. Por ejemplo, Buscador de índices utiliza esta API para impulsar la búsqueda mediante un lector de hojas atómicas a la vez. Si este lector no está compuesto por lectores secundarios, este método devuelve un Contexto del lector atómico. Nota: Cualquiera de los sub-CompositeReaderContextCompositeReaderContext las instancias a las que se hace referencia desde este contexto de nivel superior no admiten Ramas y Hojas. Solo el contexto de nivel superior mantiene la vista de hoja conveniente por motivos de rendimiento. |
Clave de caché central | Experto: Devuelve una clave para esto Lector de índices, asi que IFieldCache/Filtro CachingWrapper puede encontrarlo de nuevo. Esta clave no debe tener métodos Equals()/GetHashCode(), por lo que "equals" significa "idéntico". |
tiene eliminaciones | Returns |
Ramas y Hojas | Devuelve las hojas del lector, o él mismo si este lector es atómico. Este es un método de conveniencia llamando |
LuceneRPCTransportLayer | |
maxdoc | Devuelve uno mayor que el mayor número de documento posible. esto puede usarse para, por ejemplo, determinar qué tan grande asignar una matriz que tendrá un elemento para cada número de documento en un índice. |
NúmDocsDeleted | Devuelve el número de documentos eliminados. |
NúmDocs | Devuelve el número de documentos en este índice. |
Recuento de referencias | Experto: devuelve el refCount actual para este lector |
Métodos
Nombre | Descripción |
---|---|
AddReaderClosedListener(IndexReader.IReaderClosedListener) | Experto: agrega un IndexReader.IReaderClosedListener. El oyente proporcionado se invocará cuando se cierre este lector. @lucene.experimental |
DecRef() | Experto: disminuye la Recuento de referencias de este Lector de índices ejemplo. Si el Recuento de referencias cae a 0, entonces este lector se desecha. Si se produce una excepción, el Recuento de referencias no ha cambiado. |
Disponer() | Cierra los archivos asociados con este índice. También guarda cualquier nueva eliminación en el disco. No se debe llamar a ningún otro método después de que se haya llamado a este. |
Desechar (booleano) | Cierra los archivos asociados con este índice. Este método implementa el patrón desechable. Puede anularse para desechar recursos administrados o no administrados, pero asegúrese de llamar |
DocFreq(Término) | Devuelve el número de documentos que contienen el
|
HacerCerrar() | Implementos cerca. |
Documento (Int64) | Devuelve los campos almacenados del NOTA: por razones de rendimiento, este método no verifica si el documento solicitado se eliminó y, por lo tanto, solicitar un documento eliminado puede generar resultados no especificados. Por lo general, esto no es necesario, sin embargo, puede probar si el documento se eliminó al verificar el IBits regresó de GetLiveDocs(IndexReader). NOTA: solo se devuelve el contenido de un campo, si ese campo se almacenó durante la indexación. Los metadatos como boost, omitNorm, IndexOptions, tokenized, etc., no se conservan. |
Documento (Int64, ISet ) | Me gusta Documento (Int64) pero solo carga los campos especificados. Tenga en cuenta que esto es simplemente azúcar para DocumentStoredFieldVisitor(ISet ). |
Documento (Int64, StoredFieldVisitor) | Experto: visita los campos de un documento almacenado, para el procesamiento/carga personalizado de cada campo. Si simplemente desea cargar todos los campos, utilice
|
AsegurarAbrir() | COLORES SÓLIDOS |
ObtenerCuentaDocumentos(Cadena) | Devuelve el número de documentos que tienen al menos un término para este campo, o -1 si el códec no almacena esta medida. Tenga en cuenta que, al igual que otras medidas de términos, esta medida no tiene en cuenta los documentos eliminados. |
ObtenerMaxDocsPerIndex() | |
GetSumDocFreq(Cadena) | Devuelve la suma de FrecDoc para todos los términos de este campo, o -1 si el códec no almacena esta medida. Tenga en cuenta que, al igual que otras medidas de términos, esta medida no tiene en cuenta los documentos eliminados. |
GetSumTotalTermFreq(Cadena) | Devuelve la suma de Frecuencia de término total para todos los términos de este campo, o -1 si el códec no almacena esta medida (o si este campo omite la frecuencia y las posiciones de los términos). Tenga en cuenta que, al igual que otras medidas de términos, esta medida no tiene en cuenta los documentos eliminados. |
ObtenerIdSustituto() | |
ObtenerVectorTérmino(Int64, Cadena) | Recuperar vector de término para este documento y campo, o
|
ObtenerVectoresTérmino(Int64) | Recuperar vectores de términos para este documento, o |
RefInc() | Experto: incrementa el Recuento de referencias de este Lector de índices ejemplo. Recuento de referenciasLos correos electrónicos se utilizan para determinar cuándo se puede desechar un lector de forma segura, es decir, tan pronto como no haya más referencias. Asegúrese de llamar siempre al correspondiente DecRef(), en una cláusula final; de lo contrario, es posible que el lector nunca esté dispuesto. Tenga en cuenta que Desechar (booleano) simplemente llama DecRef(), lo que significa que el Lector de índices no se eliminará realmente hasta DecRef() ha sido llamado para todas las referencias pendientes. |
Abrir (IndexCommit) | Experto: devuelve un Lector de índices leyendo el índice en el dado ÍndiceCommit. |
Abierto (IndexCommit, Int32) | Experto: devuelve un Lector de índices leyendo el índice en el dado
ÍndiceCommit y |
Abierto (IndexWriter, Booleano) | Abrir un tiempo casi real Lector de índices del desplegable Escritor de índices. |
Directorio abierto) | Devuelve un Lector de índices leyendo el índice en el dado Directorio |
Abrir (Directorio, Int32) | Experto: Devuelve un Lector de índices leyendo el índice en el dado
Directorio con lo dado |
RegistrarParentReader(IndexReader) | Experto: este método es llamado por Lector de índicess que envuelven a otros lectores (p. ej. Lector compuesto or |
EliminarReaderClosedListener(IndexReader.IReaderClosedListener) | Experto: eliminar un agregado previamente IndexReader.IReaderClosedListener. @lucene.experimental |
TotalTérminoFreq(Término) | Devuelve el número total de ocurrencias de |
PruebaIncRef() | Experto: incrementa el Recuento de referencias de este Lector de índices
instancia sólo si el Lector de índices aún no ha sido desechado y regresa Recuento de referenciasLos correos electrónicos se utilizan para determinar cuándo se puede desechar un lector de forma segura, es decir, tan pronto como no haya más referencias. Asegúrese de llamar siempre al correspondiente DecRef(), en una cláusula final; de lo contrario, es posible que el lector nunca esté dispuesto. Tenga en cuenta que Desechar (booleano) simplemente llama DecRef(), lo que significa que el Lector de índices no se eliminará realmente hasta DecRef() ha sido llamado para todas las referencias pendientes. |