Actualmente puedo GET y POST a mi colección, pero necesito la capacidad para consultas más complicadas, estoy usando bodybuilder para estructurar la solicitud y axios como mi cliente.
Sin embargo, usar POST no devuelve mis resultados especificados, sino solo los primeros 10 elementos en mi índice y usando GET , no puedo enviar un cuerpo para estas solicitudes complicadas, dejándome con POST .
Cambié la configuración de mis datos de data:data a body:data con el mismo resultado.
Actualmente, este es mi POST que nuevamente devuelve datos pero NO mis datos filtrados solo los primeros 10 elementos de mi colección.
¡Cualquier idea sería apreciada!
export function searchQuery(search: string) { var body = bodybuilder().query("query_string", "query", search).build(); const data = JSON.stringify(body); axios({ url: `${SEARCH_URL}`, method: "POST", headers: { "Content-Type": "application/json", }, body: data, }).then((res) => { console.log(res); }); }Este es mi registro actual de datos:
{"query":{"query_string":{"query":"Green"}}}Según los comentarios en la pregunta anterior, obtienes solo los primeros 10 elementos de tu colección cuando ejecutas la consulta en elasticsearch directamente.
Esto se debe a que, de forma predeterminada, elasticsearch devuelve solo 10 documentos en el resultado de la búsqueda si no se incluye ningún parámetro de size en la consulta de búsqueda.
Si desea obtener más de 10 resultados, debe modificar su consulta de búsqueda como
{ "size": 20, // change this according to your requirement "query": { "query_string": { "query": "Green" } } }