【发布时间】:2016-11-25 06:32:03
【问题描述】:
我正在使用 PHP cURL 从 Solr 检索搜索结果数组。
- cURL Version : 7.47.1
以下代码正在搜索特定城市的总商店。 请看我的代码..
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, "http://localhost:8983/solr/Search/select?q=searchshop%3A*&fq=" . $encode_fq_city . "&wt=php&fl=LoginInfoId");
curl_setopt($ch1, CURLOPT_HEADER, false);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
$shop = curl_exec($ch1);
curl_close($ch1);
print_r($shop);
我使用print_r $shop_arr 数组,结果只显示了 10 条记录。实际的 Solr result_array 包含 14 条记录。
还附加了结果数组..
[response] => Array
(
[numFound] => 14
[start] => 0
[docs] => Array
(
[0] => Array
(
[LoginInfoId] => 246
)
[1] => Array
(
[LoginInfoId] => 230
)
[2] => Array
(
[LoginInfoId] => 236
)
[3] => Array
(
[LoginInfoId] => 217
)
[4] => Array
(
[LoginInfoId] => 241
)
[5] => Array
(
[LoginInfoId] => 219
)
[6] => Array
(
[LoginInfoId] => 239
)
[7] => Array
(
[LoginInfoId] => 231
)
[8] => Array
(
[LoginInfoId] => 232
)
[9] => Array
(
[LoginInfoId] => 257
)
)
)
结果显示[numfound]=14,但只有10条记录。
在我的场景中将result_array 从 Solr 获取到 PHP 是否有任何错误?
这是一个 cURL 错误吗?
【问题讨论】:
-
您的查询是否可能限制了退货数量? db 查询中是否有 LIMIT?
-
是的。这是可能的。但我没有设置任何东西!
numFound也是 14,只显示 10。 -
嗯,cURL 方面看起来不错,我的假设是它在端点上被破坏了。我也不确定你为什么要使用那个 Eval - 为什么不只是
$shoparr = $shop;?? -
也尝试使用
$shop。结果还是一样。 -
相同的结果,只是更干净。那里不需要 Eval 语句。如果可能,您还应该考虑使用 json 编码/解码(这里不会是问题)。你能从你的端点发布代码吗?