海量数据查询SOLR

时间:2014-03-16 11:57:15

标签: mysql sql xml solr

我有一个提供程序,通过SOLR Query使用XML向我提供信息。为了提取数据,我使用SOLR使用不同的url查询。关键是我想在我们的数据库中存储超过30.000.000行。

为了获取我使用此SOLR查询的所有数据

http://provider.com/query?q=colour%3A%20(red)&group.field=manufacturer&format=xml&group.limit=1 此查询为我提供了1.311.707结果。

<products>
<grouped>
<matches>1311707</matches>
<groups>
<item>
<doclist>
<start>0</start>
<numFound>36242</numFound>
<docs>

如果我想提取所有数据(匹配)http://provider.com/query?q=colour%3A%20(red)&group.field=manufacturer&format=xml&group.limit=1311707

我收到此错误:

<status_code>500</status_code>
<message/>
<error>Internal Server Error</error>

我确信这是因为group.limit太大了。

我如何收到所有比赛?如何用SOLR查询大量结果?

非常感谢


MIkpa

使用此请求:

查询q =彩色%3A%20(红色)及FQ =制造商:[%27%27%20TO%20 *]&安培;基团=真安培;行= 1&安培;起始= 1&安培; group.field =制造商的安培; group.offset = 800安培; group.limit = 8&安培;格式= XML

值&amp; start增加groupValue,&amp; rows是显示的groupValue的数量,&amp; group.limit是每个查询中显示的数量。如果我尝试使用&amp; group.limit = 160142我收到内部服务器错误。 所以重点是,我怎么能拥有所有的160.142?

如果我增加“group.offset = 800”或900等,则值始终相同。如何移动?

内的偏移量
<products>
<grouped>
<matches>1311707</matches>
<groups>
<item>
<doclist>
<start>0</start>
<numFound>160142</numFound>
<docs>
<item>...</item>
<item>...</item>
<item>...</item>
<item>...</item>
<item>...</item>
<item>...</item>
<item>...</item>
<item>...</item>
</docs>
</doclist>
<groupValue>Fiat</groupValue>
</item>
</groups>

谢谢

1 个答案:

答案 0 :(得分:0)

尝试使用startlimit参数对结果行进行分页。

尝试使用group.offsetgroup.limit对组中的结果进行分页。