【发布时间】:2013-06-30 14:50:13
【问题描述】:
现在,我有一项紧迫的任务是使用 solr 提高“OR”查询性能。 我在两台服务器上部署了 9 个带有 solr-cloud 的分片(每台服务器:16 核,32G RAM)。
总文档数:60,000,000,总索引大小:9G。
根据要求,我必须使用“OR”查询来获取结果。
查询词的平均数量约为15个。
“OR”查询的响应时间约为 1-2 秒(“AND”查询约为 30ms-40ms)。
我们的目标:提升50%,即每次查询最多500ms-1s。
文档将飙升至 80,000,000,但性能应保持在 500ms-1s 查询。
感谢任何建议或方法。提前致谢。
【问题讨论】:
-
查询结果如何?
-
q=name:(T1 OR T2 OR T3 ....)
-
名称字段是什么??细绳 ?文本 ??你可以使用 fq 来缓存结果吗?
-
名称字段为文本。我们尝试查询为:q=name:(T1 OR T2 OR T3 ....)&fq=+name:T1,它几乎会提升50%(因为找到的文档的数量已经减少了。),但是,很难确定选择哪个词作为 T1。
-
您是否需要在字段“名称”的内容中使用“T”,或者您可以将其去掉并将该字段设为数字吗?
标签: performance solr lucene