Motores de búsqueda
Guida ofrece dos integraciones de búsqueda distintas. Para indexación local limitada al espacio de trabajo y sin configuración, puede usar el índice Lucene.NET integrado. Para escala masiva e integración externa, puede conectarse directamente a clústeres Elasticsearch.
Índice de búsqueda local (Lucene)
Sección titulada «Índice de búsqueda local (Lucene)»g.search.* proporciona un índice de búsqueda de texto completo limitado al espacio de trabajo y respaldado por Lucene.NET. No requiere configuración, se ejecuta íntegramente en local y persiste datos dentro de la carpeta del espacio de trabajo (.guida/search-index/).
Casos de uso:
- Indexar texto extraído de cientos de páginas para recuperación rápida.
- Construir bases de conocimiento locales para Retrieval-Augmented Generation (RAG) con LLM.
- Encontrar elementos en cola o documentos almacenados mediante coincidencia aproximada.
Ejemplo
Sección titulada «Ejemplo»async function main() { // Index a document g.search.index({ _key: "article-123", _collection: "articles", title: "Understanding Browser Automation", body: "Guida is an agentic browser...", url: "https://example.com/article" });
// Query with standard Lucene syntax // Supports wildcards, fuzzy matching (~), and field-specific queries const results = g.search.query("title:Browser* OR body:automation~");
g.log(`Found ${results.length} matches:`); for (const r of results) { g.log(`- ${r.fields.title} (Score: ${r.score})`); }}6 métodos en total; vea la Referencia de API para la lista completa.
Elasticsearch
Sección titulada «Elasticsearch»g.elasticsearch.* se conecta a clústeres Elasticsearch para ingesta de alto rendimiento, gestión de índices y búsquedas Query DSL brutas.
A diferencia del índice Lucene local, Elasticsearch requiere un clúster externo, ejecutado localmente, vía Docker o en Elastic Cloud.
Formato de cadena de conexión (JSON):
Las conexiones se configuran de forma segura en el panel Secrets mediante el diálogo “Add Elasticsearch”. Por debajo, esto almacena una configuración JSON:
{ "url": "http://localhost:9200", "username": "elastic", "password": "password"}Casos de uso:
- Extraer datasets masivos e ingerirlos con operaciones bulk de alto rendimiento.
- Crear y gestionar índices programáticamente.
- Buscar en grandes datasets usando Elasticsearch Query DSL bruto.
Ejemplo
Sección titulada «Ejemplo»async function main() { const conn = "my-elastic"; // Name of your connection secret
// Check connection const isUp = await g.elasticsearch.ping(conn); if (!isUp) return g.log("Connection failed");
// Bulk index documents with automatic chunking const docs = [{ id: 1, title: "Laptop" }, { id: 2, title: "Mouse" }]; const bulkRes = await g.elasticsearch.bulk(conn, "products", docs, 1000); g.log(`Indexed ${bulkRes.successful} out of ${bulkRes.total}`);
// Query DSL search const searchRes = await g.elasticsearch.search(conn, "products", { query: { match_all: {} } }); g.log(`Total hits: ${searchRes.hits.total.value}`);}8 métodos en total; vea la Referencia de API para la lista completa.
Seguridad
Sección titulada «Seguridad»Las conexiones a clústeres Elasticsearch externos siguen el mismo modelo de seguridad que las credenciales:
- Los scripts originados por MCP están bloqueados. Cuando un agente de IA ejecuta un script mediante MCP, todas las llamadas
g.elasticsearch.*devuelven un error. Esto impide que la IA acceda a bases de datos externas mediante automatización con scripts. Nota: el índice Lucene localg.search.*sí es accesible para MCP. - Los procesos de trabajo heredan el origen de su lanzador. Si MCP inicia un pool de procesos de trabajo, esos procesos también quedan bloqueados para acceso externo a Elasticsearch.
- Los scripts iniciados por el usuario tienen acceso completo. Los scripts ejecutados con F5, disparadores de eventos y procesadores de cola pueden usar todos los métodos.
Las credenciales de conexión nunca se exponen mediante herramientas MCP: la IA solo ve el nombre de la credencial, no el usuario ni las contraseñas.
Siguientes pasos
Sección titulada «Siguientes pasos»- Referencia de API — firmas completas de métodos para
g.search.*yg.elasticsearch.*. - Integraciones de bases de datos — conectarse a MongoDB, PostgreSQL y almacenamiento compatible con S3.
- Credenciales de acceso — gestionar credenciales de conexión cifradas.