Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
solr如何过滤大量ID_Solr_Filter_Facet_Large Data - Fatal编程技术网

solr如何过滤大量ID

solr如何过滤大量ID,solr,filter,facet,large-data,Solr,Filter,Facet,Large Data,我有两张桌子,一张是新闻,另一张是联系人 新闻:新闻ID、新闻内容、新闻来源 联系人:联系人ID,联系人组织ID 我在solr中索引了这两个表,所以我有两个核心。 但我有一个用例,我需要通过新闻内容找出所有联系人ID。 我首先从新闻索引中得到一大组Orgid,大约100万。我想在solr中将它用作一个过滤器查询来搜索,比如 选择?q=:&fq=id:100+id:101+id:102+id:103+id:104 但是solr限制了1024个布尔查询。所以我不能在一个过程中转移。还有其他办法解决这

我有两张桌子,一张是新闻,另一张是联系人

新闻:新闻ID、新闻内容、新闻来源

联系人:联系人ID,联系人组织ID

我在solr中索引了这两个表,所以我有两个核心。 但我有一个用例,我需要通过新闻内容找出所有联系人ID。 我首先从新闻索引中得到一大组Orgid,大约100万。我想在solr中将它用作一个过滤器查询来搜索,比如

选择?q=:&fq=id:100+id:101+id:102+id:103+id:104

但是solr限制了1024个布尔查询。所以我不能在一个过程中转移。还有其他办法解决这个问题吗

因为我想使用solr的方面数据,所以我无法搜索solr中的所有数据并与ids进行比较

谢谢你的帮助


致以最良好的祝愿!里克。

我用solr4.0的新功能解决了这个问题:加入。首先,我将联系人和新闻放在一个核心中,然后我们可以使用orgids加入

您可以更改配置中的最大布尔查询值,但100万太多了!!!!!!!谢谢你的回复,贾扬德拉。如果更改“最大布尔查询”值,可能会导致严重的性能问题。正如你所说,一百万太多了,也许解决不了这种问题。是的,一百万太多了。用例是什么???你仍然可以分批进行,但这需要时间。是的,用例是这样的,我有两个核心,一个是新闻,另一个是人物,每个新闻和人物都有一个器官id。我想设计一个预先搜索,按人物工作级别和新闻内容过滤。所以我首先搜索新闻,得到大量的器官ID,然后我需要把这些ID放在人物搜索中。PS:我接受了你的建议,将max boolean querys值更改为10K,大约需要2秒。今天我发现solr4支持跨核心连接,所以我不需要更改索引结构,这太棒了!