2010-02-23 8 views
5

no puedo encontrar nada en documentos de base libre de ello, pero parece que limitan el número de resultados a 100. Por ejemplo:cómo incrementar resultado API de base libre limitar

[{ 
    "type":"/base/popstra/celebrity", 
    "name":null 
}] 

Las devoluciones sólo 100 resultados, mientras que

[{ 
    "type":"/base/popstra/celebrity", 
    return:"count" 
}] 

Afirma que hay 6244 resultados. ¿Alguien sabe cómo obtener el resto de ellos? Sé que puedo limitar las consultas por algún parámetro como país y luego agregar los resultados, pero prefiero algo menos hacky.

Respuesta

8

Puede utilizar la propiedad limit para solicitar más resultados. Sin embargo, buscar números grandes puede darle un tiempo de espera de consulta.

Una forma más confiable es utilizar la propiedad cursor. Pase en un valor cursor de true. Obtendrá un lote de resultados, pero también obtendrá un nuevo valor para cursor en la respuesta. Repita su consulta, pero sustituya en el nuevo valor cursor para obtener el siguiente lote de resultados. De esta forma, puedes buscar incluso un gran conjunto de datos.

Más información: http://www.freebase.com/docs/mql/ch04.html#envelopeparameters

+0

Usando su ejemplo recibí el siguiente mensaje "El cursor clave es una palabra reservada", parece que ya no funciona. – Domenic

+0

Esto todavía funciona. El cursor se coloca en el sobre, no en la consulta en sí (siga el enlace que Peter proporcionó a la documentación). –

+0

¡Ah! Gracias Peter, me preguntaba cómo obtener el valor del cursor en la respuesta. –

0

Un compañero de trabajo me ayudó a resolver esto. Pensé que debería usar el parámetro limit pero no lo puse en el lugar correcto. Así es como se hace:

[{ 
    "type":"/base/popstra/celebrity", 
    "name":null, 
    "limit":300 
}] 
+0

Debe actualizar realmente su OP o comentarios al respecto, en lugar de proporcionar una respuesta! –

Cuestiones relacionadas