# Servicios del motor de resultados


## Búsqueda

```
Método: POST
Authorization (header): Token del motor

https://search.api.induxsoft.net/{seid}/?query-field=reformulated_question&filters=params&result=answer&model=fast&limit=10
{
	//Carga útil
}
```

- seid. (Search Engine Id) es el identificador del motor de resultados (`requerido`).


**Parámetros de la URL**

- query-field. Es el nombre del campo de la carga útil que contiene la consulta (requerido - `default = reformulated_question`)
- filters. Es el nombre del campo de la carga útil que contiene los parámetros de filtro (no es un parámetro requerido)
- limit. La cantidad de resultados a devolver, si se omite se asumen 10
- result
    - metadata. Responde un arreglo de objetos con el id, title, description, url y content del vector
    - json. Responde los metadatos y el contenido asociado completo en el campo 'content'
    - content. Responde un documento de texto con todo el contenido recuperado de la búsqueda en la forma
        ```
        title
        content
        source
        ---
        ...
        ```
    - answer. Responde un documento de texto con una respuesta de IA con base en el contenido y la pregunta (`default`)
- model. El identificador de un modelo de IA (LLM) usado si result es answer, si no se define se asume el modelo 'Inteligente'

Identificadores válidos de modelos
[Modelos](https://docs.induxsoft.net/es/iae/llm-supported.dkl).

## Agregar o actualizar un vector

```
Método: POST
Authorization (header): Token del motor

https://search.api.induxsoft.net/{seid}/vector/

Carga útil (un solo elemento)

{
    "id": Numérico (entero - requerido)
    "title":"Texto a vectorizar (requerido)",
    "description":"Texto a vectorizar (requerido)",
    "url":"Una url de origen del contenido (opcional)",
    "content":"Contenido de datos asociado al vector(requerido)"
}

Carga útil (varios elementos)

[
    {
        "id": Numérico (entero - requerido)
        "title":"Texto a vectorizar(requerido)",
        "description":"Texto a vectorizar(requerido)",
        "url":"Una url de origen del contenido (opcional)",
        "content":"Contenido de datos asociado al vector(requerido)"
        
    },...
]

```
- seid. (Search Engine Id) es el identificador del motor de resultados(requerido).
- Si se omite el campo id se agregará un nuevo elemento de contenido al índice y se retornará el id asignado automáticamente.
- Si se establece el campo id y existe se actualizará, si no, se agregará
- Si no se indica el campo title o description o son idénticos a los alojados en el vector, solo se actualizará la información asociada (content) sin recalcular el vector

## Recuperar un vector

```
Método: GET
Authorization (header): Token del motor

https://search.api.induxsoft.net/{seid}/vector/{id}
```

- seid. (Search Engine Id) es el identificador del motor de resultados.

## Eliminar un vector

```
Método: DELETE
Authorization (header): Token del motor

https://search.api.induxsoft.net/{seid}/vector/{id}
```

- seid. (Search Engine Id) es el identificador del motor de resultados.