búsqueda de texto completo en java – agregar documentos y combinar con GroupDocs.Search

Respuestas rápidas

  • ¿Qué significa “add documents to index”? Indica a GroupDocs.Search que escanee una carpeta, extraiga tokens buscables y almacene metadatos para cada archivo.
  • ¿Puedo detener una fusión larga? Sí—utilice el objeto Cancellation para abortar una fusión después de un tiempo de espera configurable.
  • ¿Necesito una licencia? Una prueba gratuita o licencia temporal funciona para pruebas; una licencia comercial desbloquea todas las funciones.
  • ¿Qué versión de Java se requiere? JDK 8 o superior.
  • ¿Es adecuado para grandes conjuntos de datos? Absolutamente—GroupDocs.Search puede manejar documentos de cientos de páginas con indexación incremental.

Qué significa “add documents to index” en GroupDocs.Search

Agregar documentos a un índice significa suministrar una colección de archivos a GroupDocs.Search para que la biblioteca pueda analizar su contenido, extraer tokens y construir una estructura de datos buscable. El proceso crea una representación compacta que permite consultas de texto completo ultrarrápidas en todos los archivos indexados.

Por qué usar GroupDocs.Search para la gestión de documentos java

GroupDocs.Search ofrece indexación escalable para más de 50 formatos de entrada (PDF, DOCX, XLSX, PPTX, HTML, imágenes, etc.) y puede procesar documentos de hasta 2 GB sin cargar el archivo completo en memoria. Su API le brinda control granular sobre la indexación, fusión y cancelación, lo que lo convierte en una opción principal para soluciones empresariales de búsqueda de texto completo en java.

Requisitos previos

  • GroupDocs.Search for Java versión 25.4 o posterior.
  • Maven (o descarga manual del JAR).
  • Conocimientos básicos de Java y un entorno JDK 8+.

Configuración de GroupDocs.Search para Java

Instalación con Maven

Si gestiona dependencias con Maven, agregue el repositorio y la dependencia a su pom.xml:

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/search/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>25.4</version>
    </dependency>
</dependencies>

Descarga directa

Alternativamente, descargue el JAR más reciente del sitio oficial: GroupDocs.Search for Java releases.

Obtención de licencia

  • Prueba gratuita: Regístrese en el sitio web de GroupDocs para obtener una licencia de prueba.
  • Licencia temporal: Solicite una clave temporal si necesita una evaluación prolongada.
  • Licencia comercial: Adquiera una licencia para uso en producción.

Después de obtener el archivo de licencia, colóquelo en su proyecto e inicialice la biblioteca como se muestra más adelante.

Guía de implementación

Cómo agregar documentos al índice – Creando el primer índice

Cargue o cree un índice vacío instanciando la clase Index, que representa un contenedor buscable en disco. Este paso prepara una ubicación de almacenamiento para todos los tokens que se generarán a partir de sus documentos.

import com.groupdocs.search.Index;

// Create an instance of the index at the specified path
Index index1 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index1");
  • Por qué: Este paso configura un contenedor de almacenamiento donde se guardarán los tokens indexados.

Agregando documentos al índice

Llame a index.add con una ruta de carpeta; el método escanea cada archivo, extrae texto y almacena metadatos buscables en el índice. La operación se ejecuta en una sola pasada y respeta la configuración de IndexSettings.

index1.add("YOUR_DOCUMENT_DIRECTORY"); // Add documents from this directory
  • Por qué: La biblioteca lee cada archivo, extrae texto y lo almacena en index1.

Creando un segundo índice para flujos de trabajo flexibles

Instancie otro objeto Index para contener un conjunto de documentos separado, permitiendo procesamiento aislado antes de una fusión. Este patrón es útil para escenarios multi‑tenant o indexación por etapas.

Index index2 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index2");
index2.add("YOUR_DOCUMENT_DIRECTORY");
  • Por qué: Múltiples índices le permiten gestionar conjuntos de documentos distintos y combinarlos posteriormente.

Cómo configurar opciones de fusión y cancelar la operación de fusión

Cree una instancia de MergeOptions, establezca los parámetros deseados y adjunte un token Cancellation que aborta la fusión después de un tiempo de espera especificado. Esto le brinda control total sobre el uso de recursos durante fusiones grandes.

import com.groupdocs.search.options.MergeOptions;
import com.groupdocs.search.options.Cancellation;

MergeOptions options = new MergeOptions();
options.setCancellation(new Cancellation()); // Initialize cancellation object
options.getCancellation().cancelAfter(5000); // Cancel merge operation after 5 seconds
  • Por qué: Cancellation le permite cancelar la operación de fusión automáticamente, evitando tareas descontroladas.

Fusionando los índices

Invoca index1.merge(index2, mergeOptions); el índice principal absorbe todos los documentos del índice secundario mientras preserva la integridad de los tokens. Después de la fusión, dispone de un repositorio buscable unificado.

index1.merge(index2, options);
  • Por qué: Después de esta llamada, index1 contiene todos los documentos de ambas fuentes, brindándole una experiencia de búsqueda unificada.

Aplicaciones prácticas para la gestión de documentos Java

  • Despachos legales: Consolidar expedientes de casos de múltiples oficinas en un único índice buscable.
  • Instituciones financieras: Fusionar informes trimestrales en un repositorio unificado para consultas de auditoría rápidas.
  • Empresas: Combinar políticas de RR.HH., manuales de cumplimiento y guías internas para una búsqueda a nivel empresarial.

Consideraciones de rendimiento

  • Indexación incremental: Agregue nuevos archivos periódicamente en lugar de reconstruir todo el índice.
  • Monitoreo de memoria: Los lotes grandes pueden consumir RAM; procese archivos en fragmentos más pequeños o habilite el modo de transmisión.
  • Recolección de basura: Libere rápidamente los objetos Index no utilizados para liberar recursos.
  • Almacenamiento SSD: Guardar los archivos de índice en SSDs puede mejorar la velocidad de fusión hasta 2×.

Problemas comunes y soluciones

ProblemaSolución
Ruta de carpeta incorrectaVerifique la ruta absoluta y asegúrese de que la aplicación tenga permisos de lectura.
Memoria insuficienteAumente el heap de JVM (-Xmx) o indexe archivos en lotes.
Cancelación no activadaAsegúrese de que cancelAfter esté configurado antes de llamar a merge.
Formato de archivo no compatibleInstale complementos de formato adicionales de GroupDocs si es necesario.

Preguntas frecuentes

P: ¿Por qué crear múltiples índices en lugar de uno solo?
R: Los índices separados le permiten aislar dominios de datos, aplicar políticas de seguridad distintas y fusionar solo cuando sea necesario, lo que mejora el rendimiento y la organización.

P: ¿Puedo cancelar una operación de indexación de la misma manera que cancelo una fusión?
R: Sí—utilice el objeto Cancellation con el método add para detener tareas de indexación de larga duración.

P: ¿Cómo asegurar un rendimiento óptimo con colecciones de documentos muy grandes?
R: Realice indexación incremental, monitoree la memoria de la JVM y almacene el índice en SSDs. Considere usar la configuración BatchSize para limitar los documentos en memoria.

P: ¿Qué debo hacer si recibo errores de “Access denied”?
R: Verifique los permisos de la carpeta para el usuario que ejecuta el proceso Java y asegúrese de que el archivo de licencia sea legible.

P: ¿Es compatible GroupDocs.Search con otras bibliotecas de GroupDocs?
R: Absolutamente—puede integrarlo con GroupDocs.Viewer, GroupDocs.Conversion y más para construir una solución de documentos de extremo a extremo.

Conclusión

Al seguir esta guía ahora sabe cómo add documents to index, configurar el comportamiento de fusión y cancelar la operación de fusión de forma segura cuando sea necesario, todo dentro de un flujo de trabajo robusto de java full text search. Experimente con conjuntos de datos más grandes, explore tokenizadores personalizados o combine GroupDocs.Search con otros productos de GroupDocs para crear una solución de nivel empresarial.

Recursos


Última actualización: 2026-05-12
Probado con: GroupDocs.Search 25.4 for Java
Autor: GroupDocs

Tutoriales relacionados