【发布时间】:2014-09-10 14:15:41
【问题描述】:
我们有 SOLR 在 23 台机器上存储 30 亿条记录,每台机器有 4 个分片,只有 2.3 亿个文档有一些像 aliasName 这样的字段。目前 queryCache 或 documentCache 或 Filter Cache 已禁用。
问题:我们正在尝试获取具有类似 (q=alisaName:[* TO *] AND firstname:ash AND lastName:Coburn) 的查询的结果在 4.3 秒内返回匹配文档。基本上,我们只想要那些匹配的名字和姓氏记录,其中 aliasName 不为空。
我正在考虑启用过滤查询 fq=aliasName:[* TO *] 并且不确定它是否会使其更快,因为每个查询中的名字和姓氏大多不同?我们应该为过滤查询分配多少内存来执行?它不应影响其他现有查询,例如 q=firstanme:ash AND last name:something)
请不要担心 I/O 操作,因为我们使用的是闪存驱动器。
如果您曾处理过类似问题并提出最佳解决方案,非常感谢您的回复。
【问题讨论】: