2011-02-14 12 views
9

Soy nuevo en Elastic Search. ¿Hay alguna manera de obtener todos los resultados de búsqueda para una palabra clave de búsqueda? Elastic Search está limitada a 10 o si no podemos establecer el tamaño, pero tenemos que obtener el tamaño?Cómo obtener todos los valores de un resultado de búsqueda

+1

Recomendaría utilizar la búsqueda de desplazamiento para obtener todos los registros (como paginación). http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-scroll.html – Emil

Respuesta

15

Sí, el número predeterminado de resultados de búsqueda es 10.

Es necesario set the size parameter en la consulta.

No creo que pueda decir "todos los resultados", sin embargo, siempre debe haber un límite de tamaño.

+0

sí, pero necesito obtener el tamaño total primero – raagavan

+0

@raagavan: ¿Tamaño total de qué? – skaffman

+0

@skaffman mira si busco una palabra clave 'example' si está en el documento 200 necesito mostrar los 200 resultados .. – raagavan

4

Si utiliza la API de JAVA puede sencillo obtener el número total éxito desde el SearchResponse

SearchRequestBuilder srb = .. 
SearchResponse sr = srb.execute().actionGet(); 
long totalHits = sr.getHits().getTotalHits(); 
0

Usted puede hacer esto en un par de pasos utilizando un código

  1. Fijar un tamaño decir 1000 y obtener todos los 1000 registros.
  2. identificar a partir hits.total si el tamaño es menor que 1000. (si es pequeño, entonces tienes todos los registros :))
  3. utilizar lo contrario from and size para proporcionar 1001 desde y total como el tamaño de la consulta anterior para obtener el resultado completo.
Cuestiones relacionadas